java - 在 Java 中将文本文件放入二维不规则数组中

标签 java arrays string file arraylist

嘿伙计们,这是 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/

相关文章:

java - 当线程在某个循环中执行长任务时如何中断线程?

java - java中通过名称获取字段值

java - Spring security 动态授权

python - 如何将列表元素转换为列表?

PHP:如何用逗号分解字符串,而不是引号内的逗号?

java - 为什么我的 ActiveMQ 正在关闭我的 Tomcat?

javascript - 比较两个数组对象的匹配数据并返回新的数组对象

arrays - 如何[最好]比较多类型[但仍然受控]数组中的值?

c++ - 为什么数组中的数据被删除后还能用?

Java 字符串不等于