How To - Read TextFile into Array
Description:
These are many ways to read a text-file into an array.
myTextFile.txt
2014-12-01 Durban to Cape Town 2014-12-04 Port Elizabeth to Durban 2014-12-05 Durban to Kimberley 2014-12-05 Durban to Potchefstroom 2014-12-07 Potchefstroom to Durban 2014-12-09 Durban to Bloemfontein
Most Common Method: Using Scanner & String[] Arrays
This is the most used method, as it is used to easily split the contents of a Text File line by line into a String Array:
public void readTextFile(String fileName) throws FileNotFoundException { String content = ""; Scanner myTextFile = new Scanner(new FileReader(fileName)).useDelimiter(",\\s*"); while (myTextFile.hasNext()) { // All the contents of the Text File are added to the "content variable content = myTextFile.next(); } myTextFile.close(); // Creating a String Array to store each individual line String[] lines = content.split("\n"); /* The contents of the text file stored in the String variable "contents" is being split line by line into the String Array. The contents are being split into lines using the String.split(Regex) method, where "Regex" stands for any given "regular expression" and "String" is your String variable The String.split(Regex) method splits this string around matches of the given regular expression. */ }
Alternate Method: Using Scanner & ArrayLists
Here is the code for this method:
public class ReadTextFile { public static void main(String[] args) throws IOException { // TODO code application logic here // create String variable to store each line String line = ""; // create Scanner Scanner myFile = new Scanner(new FileReader("myTextFile.txt")).useDelimiter(",\\s*"); ArrayList<String> tempArray = new ArrayList<String>(); // Using ArrayList to temporary store values. //ArrayLists are better suited than Arrays for this as you don't have to declare memory space for them. // while loop while (myFile.hasNext()) { // find next line line = myFile.next(); tempArray.add(line); // Adding line to ArrayList } myFile.close(); //Converting ArrayList to Array using .toArray() Method String[] myStringArray = tempArray.toArray(new String[0]); for (String outputLine : myStrinArray) { System.out.print(outputLine); } } }
Advertisements