Java read file and store text in an array
Stored as strings:
public class ReadTemps { public static void main(String[] args) throws IOException { // TODO code application logic here // // read KeyWestTemp.txt // create token1 String token1 = ""; // for-each loop for calculating heat index of May - October // create Scanner inFile1 Scanner inFile1 = new Scanner(new File("KeyWestTemp.txt")).useDelimiter(",\\s*"); // Original answer used LinkedList, but probably preferable to use ArrayList in most cases // List<String> temps = new LinkedList<String>(); List<String> temps = new ArrayList<String>(); // while loop while (inFile1.hasNext()) { // find next line token1 = inFile1.next(); temps.add(token1); } inFile1.close(); String[] tempsArray = temps.toArray(new String[0]); for (String s : tempsArray) { System.out.println(s); } }}
For floats:
import java.io.File;import java.io.IOException;import java.util.LinkedList;import java.util.List;import java.util.Scanner;public class ReadTemps { public static void main(String[] args) throws IOException { // TODO code application logic here // // read KeyWestTemp.txt // create token1 // for-each loop for calculating heat index of May - October // create Scanner inFile1 Scanner inFile1 = new Scanner(new File("KeyWestTemp.txt")).useDelimiter(",\\s*"); // Original answer used LinkedList, but probably preferable to use ArrayList in most cases // List<Float> temps = new LinkedList<Float>(); List<Float> temps = new ArrayList<Float>(); // while loop while (inFile1.hasNext()) { // find next line float token1 = inFile1.nextFloat(); temps.add(token1); } inFile1.close(); Float[] tempsArray = temps.toArray(new Float[0]); for (Float s : tempsArray) { System.out.println(s); } }}
If you don't know the number of lines in your file, you don't have a size with which to init an array. In this case, it makes more sense to use a List :
List<String> tokens = new ArrayList<String>();while (inFile1.hasNext()) { tokens.add(inFile1.nextLine());}
After that, if you need to, you can copy to an array :
String[] tokenArray = tokens.toArray(new String[0]);
Just read the whole file into a StringBuilder, then split the String by dot following a space. You will get a String array.
Scanner inFile1 = new Scanner(new File("KeyWestTemp.txt"));StringBuilder sb = new Stringbuilder();while(inFile1.hasNext()) { sb.append(inFile1.nextLine());}String[] yourArray = sb.toString().split(", ");