有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用ArrayList从java文件中读取文本

我想写一个方法,用ArrayList而不是静态字符串[]数组从java文件中读取数据。这就是我到目前为止写的:

public static ArrayList<String> loadText(String file) {
    ArrayList<String> ret = null;
    BufferedReader in = null;
    String line = null;
        try {
            in = new BufferedReader(new FileReader(file));
            while((line = in.readLine()) != null) {
                ret.add(line);
            }
        } catch (Exception e){
            e.printStackTrace();
        } finally {
            if(in != null) {
                try {
                    in.close();
                } catch (Exception e){
                    e.printStackTrace();
                }
            }
        }

        return ret;
    }

这就是我在测试课上调用这个方法的方式:

import java.util.ArrayList;

public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ArrayList<String> text = Files.loadText("podaci.txt");

        System.out.println(text);
    }
}

以下方面存在问题:

ret.add(行)

我得到了NullPointerException,我不明白为什么


共 (1) 个答案

  1. # 1 楼答案

    排队

    ArrayList<String> ret = null;
    

    将变量ret设置为null。 这并不奇怪,这条线

    ret.add(line);
    

    抛出NullPointerException

    考虑分配一个数组。 甚至可能是这样的:

    ArrayList ret=新的ArrayList()

    编辑