在之前的项目中,我需要将文件内容读入数组。现在我必须做同样的事情,我必须将内容读入ArrayList。我遇到的一些问题是
如何单独添加每个项目的ArrayList?
如果文件包含10个以上的输入,则必须退出。我尝试过以下方法,但无效。
代码:
public static String readFile(String fileName) throws IOException {
String result = "";
String line = "";
FileInputStream inputStream = new FileInputStream(fileName);
Scanner scanner = new Scanner(inputStream);
DataInputStream in = new DataInputStream(inputStream);
BufferedReader bf = new BufferedReader(new InputStreamReader(in));
int lineCount = 0;
String[] numbers;
while ((line = bf.readLine()) != null) {
numbers = line.split(" ");
for (int i = 0; i < 10; i++) {
if(i > 10) {
System.out.println("The file you are accessing contains more than 10 input values. Please edit the file you wish to use so that it contains"
+ "> 10 input values. The program will now exit.");
System.exit(0);
}
matrix[i] = Integer.parseInt(numbers[i]);
}
lineCount++;
result += matrix;
}
答案 0 :(得分:3)
只需执行array[i]
arrayList.add(line)
如果这不是作业,请考虑使用一些第三方实用程序,如apache-commons FileUtils.readLines(..)
或guava Files.readLines(..)
答案 1 :(得分:2)
if
条件始终为false
:
for (int i = 0; i < 10; i++) {
if(i > 10) {
System.out.println("The file you are accessing contains more than 10 input values. Please edit the file you wish to use so that it contains"
+ "> 10 input values. The program will now exit.");
System.exit(0);
}
要附加到ArrayList
,请使用其add()
方法。
ArrayList
有一个方法size()
,您可以使用它来确定该文件是否包含十个以上的输入。
编辑:
for
循环的终止条件应基于numbers.length
,而不是十。