我正在尝试将文件读入数组,但它似乎在我的代码中不起作用
public static void main(String[] args) throws FileNotFoundException {
Scanner input = new Scanner(new File("Sales.txt"));
int lineCount = 0;
String line = "";
while (input.hasNextLine()) {
line = input.nextLine(); // read one line
lineCount++; //count line to find out how big array must be
// System.out.println(line);
}
String[] fileinput = new String[lineCount]; //create array to store file in
while (input.hasNextLine()) {
int i = 0;
fileinput[i] = input.nextLine();
System.out.println(fileinput[i]);
i++;
}
我正在使用第一部分找出有多少行,这样我就可以将我的数组指定为该大小,然后尝试将每一行放入第二部分的数组中。
但是每次它似乎不想在第一次使用该文件后再次读取或使用该文件时,它总是返回 null。
如有任何帮助,我们将不胜感激。
谢谢
最佳答案
您需要将 i
的声明移到 while 循环之外,然后重新开始从头读取文件。
input = new Scanner(new File("Sales.txt"));
int i = 0,
while (input.hasNextLine())
fileinput[i] = input.nextLine();
System.out.println(fileinput[i]);
i++;
}
您还可以使用 List
来避免遍历文件两次并使用 readAllLines
(如果您使用的是 Java 7)。
File f = new File("Sales.txt");
Charset ch = //encoding of the file
List<String> allLines = Files.readAllLines(f.toPath(), ch);
关于java - 试图将文件读入数组java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042295/