【发布时间】:2015-03-08 20:16:17
【问题描述】:
所以我有一个包含整数、双精度和字符串的文本文件,我需要将它们读入二维数组。数组应该有 6 列,但在您阅读整个文件之前,这些行是未知的。我猜它大约有 700 行这是我到目前为止所拥有的。如果我消除了数组,它会打印得很好,但是使用数组我会不断出错。 我已经搜索了很多这样的问题,但它们通常只适用于整数/双打。另外请不要推荐arrayList,因为我们的课程中没有教过。
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
public class TitanicApp {
public static void main(String[] args) throws FileNotFoundException {
String[][] array=null;
int i=0, j=0;
String fileLine;
String s;
Scanner scannerIn=null;
BufferedReader inputStream=null;
try{
inputStream = new BufferedReader(new FileReader("titanic.txt"));
scannerIn = new Scanner(inputStream);
while ((fileLine = inputStream.readLine()) != null){
for (j=0;j<6;j++){
array [i][j]=scannerIn.next();
System.out.println(array[i][j]);
i++;
}
}
}
catch (IOException ex){
ex.printStackTrace();
}
}
文件中的示例文本:
1 1 Allen, Miss. Elisabeth Walton female 29 211.3375
1 1 Allison, Master. Hudson Trevor male 0.9167 151.5500
输出应该是:
[ [1, 1, Allen, Miss. Elisabeth Walton, female, 29, 211.3375]
[1, 1, Allison, Master. Hudson Trevor, male, 0.9167, 151.5500]
]
我有一个包含上述信息(以及更多行)的 txt 文件,我需要将其放入二维数组中。由于有限制,我不得不删除一半以上。
【问题讨论】:
-
你遇到了什么错误?
-
另外,你会得到一个 NullPointer 异常,因为“array”是空的。
-
你有什么解决办法吗?
-
执行类似的操作:String[][] array = new String[6][];
-
现在我得到 java.lang.String 无法转换为 java.lang.String[][]
标签: java arrays bufferedreader