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

时间:2016-01-09 21:13:28

标签: java file arraylist

我想编写一个方法,使用ArrayList而不是静态String []数组从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;
    }

这就是我在Test类中调用此方法的方法:

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 个答案:

答案 0 :(得分:1)

该行

ArrayList<String> ret = null;

将变量ret设置为null。 该行

应该不足为奇
ret.add(line);

抛出NullPointerException。

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

ArrayList ret = new ArrayList();

被修改