嘿伙计们,这是 my previous question 的后续内容。我现在有一个格式如下的文本文件:
100 200
123
124 123 145
我想要做的是将这些值放入Java中的二维不规则数组中。 到目前为止我所拥有的是:
public String[][] readFile(String fileName) throws FileNotFoundException, IOException {
String line = "";
ArrayList rows = new ArrayList();
FileReader fr = new FileReader(fileName);
BufferedReader br = new BufferedReader(fr);
while((line = br.readLine()) != null) {
String[] theline = line.split("\\s");//TODO: Here it adds the space between two numbers as an element
rows.add(theline);
}
String[][] data = new String[rows.size()][];
data = (String[][])rows.toArray(data);
//In the end I want to return an int[][] this a placeholder for testing
return data;
我的问题是,例如,对于第 100 200 行,变量“theline”具有三个元素 {"100","","200"}
,然后将其传递到带有rows.add(theline)
我想要的是只有数字,如果可能的话如何将此 String[][] 数组转换为 int[][] 数组 int 结尾以返回它。
谢谢!
最佳答案
如果使用Scanner类,可以继续调用nextInt()
例如(这是 p 代码......您需要清理它)
scanner = new Scanner(line);
while(scanner.hasNext())
list.add(scanner.nextInt())
row = list.toArray()
这当然也不是很优化。
关于java - 在 Java 中将文本文件放入二维不规则数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1725904/