java - 由于奇怪的原因无法读取文件

标签 java android android-activity

<分区>

我有这些读取和写入文件的方法:

/* Write content to a file */
    private void writeToFile(ArrayList<String> list) {
        File file = new File("jokesBody1.bjk");     
        FileOutputStream fos;
        if(list != null){
        try {           
                file.createNewFile();
                fos = openFileOutput("jokesBody1.bjk",Context.MODE_PRIVATE);
                ObjectOutputStream out = new ObjectOutputStream(fos);
                out.writeObject(list);
                out.close();
        } catch (FileNotFoundException e) {
                e.printStackTrace();
        } catch (IOException e) {
                e.printStackTrace(); 
        }
        }else{
            try {
                file.createNewFile();
                fos = openFileOutput("jokesBody1.bjk",Context.MODE_PRIVATE);
                ObjectOutputStream out = new ObjectOutputStream(fos);
                out.writeObject("");
                out.close();
        } catch (FileNotFoundException e) {
                e.printStackTrace();
        } catch (IOException e) {
                e.printStackTrace(); 
        }
        }
    }

    /* Read file's content */
    private ArrayList<String> readFromFile() {
        File file = new File("jokesBody1.bjk");
        ArrayList<String> list = new ArrayList<String>();
        try {
            file.createNewFile();
            ObjectInputStream ois = new ObjectInputStream( new FileInputStream( file ) );
            try {
                list = (ArrayList)ois.readObject();
            } catch (ClassNotFoundException e) {
                e.printStackTrace();
            }
            ois.close();
            } catch (IOException e) {
            Log.e("log activity", "Can not read file: " + e.toString());
        }

        return list;
    }

Everyrhing 对我来说似乎没问题,但是当我运行代码时出现以下错误:

02-15 17:02:07.655: E/log activity(1882): Can not read file: java.io.IOException: open failed: EROFS (Read-only file system)

为什么系统是只读?如果 file.createNewFile(); 不存在文件,我在创建文件时应该做些什么吗?

我知道我遗漏了一些非常小的东西,但作为一个初学者,我无法发现它。

最佳答案

您可能在 Linux 上遇到此错误。
此文件系统以只读方式挂载。
所以你不能写信给它。

关于java - 由于奇怪的原因无法读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21804263/

相关文章:

java - 如何从 FileOutputStream 对象中检索 String 值?

java - 创建多个线程池(ExecutorService)可以吗?

java - 通知总是创建新的 Activity 而不是恢复以前的 Activity

java - 将 Activity 转换为 Fragment

java - 替换字符串中最后一次出现的字符

java - 我需要将 JBoss 工具添加到我的 Eclipse,但我使用的是 springtoolsuite (STS)

android - 无法在 android studio 上运行 App

java - 使用 SAX 解析器时,XML 属性不会通过 JAXB 2 进行解码

java - 在 Selenium 中计时的最佳方式

android - setContentView(R.Layout.main) vs startActivity(intent),哪个更常见?