java - 数组列表和平面文件数据库

标签 java

我正在尝试制作一个程序,将字符串列表保存到文件中,然后将它们读入数组列表。这是我当前的代码。

ObjectInputStream input = null;

    try {
        input = new ObjectInputStream(new FileInputStream("friends.txt"));
    } catch (FileNotFoundException e) {
        File f = new File("friends.txt");
        try {
            f.createNewFile();
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    String obj;

    try {
        while ((obj = (String)input.readObject()) != null) {
            friendly.add(obj);
        }
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (ClassNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

这将返回空指针异常。我不太确定这里出了什么问题。

最佳答案

嗯,一方面,如果文件不存在,“input”将为空。

我不太确定以您的方式处理文件不存在的情况的基本原理是什么 - 为什么不只通过 File.exists() 测试是否存在并且只执行打开和读取如果存在?

除此之外,正如另一位评论员所说,提供堆栈跟踪作为开始。

关于java - 数组列表和平面文件数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10610904/

相关文章:

java - 声明对 tools.jar 的 maven 依赖以在 JDK 9 上工作

java - 我可以在 Intellij Idea 中设置包级别或文件级别的断点吗?

java - 如何使用 web.xml 和 Tomcat 在 Spring 中正确加载上下文

java - 降低复杂性。查找最接近的纬度和经度对

java - HashMap 改变 Values 对象

java - Android:图像保存到位置

java - 如何使用 Gwt 将生成的图像从服务器获取到客户端

java - 错误: ')' expected compiler error

java - 设置 JPanel 的边界

java - Mockito:模拟成员变量