【问题标题】:Android FileInputStream FileNotFound in EclipseEclipse中的Android FileInputStream FileNotFound
【发布时间】:2016-08-15 12:48:40
【问题描述】:

我在项目的根目录 (Player.xml) 创建了一个 xml 文件。我在 AndroidManifest.xml 中添加了使用权限标签。我觉得我已经尝试了一切,但仍然得到 FileNotFoundException。 我在 onCreate() 方法中的代码:

 try {

     String newFile = "/TTBossUI/Player.xml";
        FileInputStream inputStream7;
        File f = new File(newFile);
        System.out.println("made it to pos #1");
        inputStream7 = new FileInputStream(f);
        System.out.println("made it to pos #2");
        inputStream7.close();
        System.out.println("made it to pos #3");
    } catch (FileNotFoundException fnfe) {
        System.out.println("file not found:" + fnfe);
        return;
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

我从来没有超过“到达 pos #1”,直接进入 catch 块。 我已经尝试了所有可能的文件/文件路径字符串。 我在仅 Java(非 android)应用程序中完美运行。 提前致谢!

【问题讨论】:

  • 您收到的错误是什么?请分享logcat
  • 这是来自 LogCat 的相关信息:到达 pos #1 08-15 13:08:26.049: I/System.out(797): file not found: java.io.FileNotFoundException: /TTBossUI/Player.xml:打开失败:ENOENT(没有这样的文件或目录)
  • 到达 pos #1 08-15 13:08:26.049: I/System.out(797): file not found: java.io.FileNotFoundException: /TTBossUI/Player.xml: open失败:ENOENT(没有这样的文件或目录)
  • 请不要在 cmets 中发布日志输出或代码!改为编辑问题并在其中添加信息。

标签: android io filenotfoundexception fileinputstream


【解决方案1】:

嗯,正如日志指出的那样,不存在这样的文件。这可能是因为您使用的是相对文件路径而不是绝对文件路径。 File f 也可能为空。

资源文件不应保存在项目的根目录中,而应保存在 Android 想要保存资源时,即保存在 res / assets 文件夹中。更多信息请阅读https://stackoverflow.com/a/17446587/2707325

根据Player.xml 文件中将存储的内容,您可以使用不同的方式来存储数据或检索设置。我建议一个用于保存数据的数据库;以及用于保存配置的 gradle 风格、静态 java 类或共享首选项。

【讨论】:

  • 我确实尝试将 xml 文件放在 res 文件夹中,但这给了我其他行的错误,例如:textView1 = (TextView)findViewById(R.id.textView1); “R”带有下划线,错误是“R 无法解析为变量”。我打算使用xml文件来序列化一个数组。
  • 那么 res 文件夹只接受特定结构的文件,因为 Android 不会让您直接访问它们。而是访问其中数据的方法。但如果这就是你从我写的东西中得到的全部,那么看起来这将是一个漫长的旅程。这里主要的事情,我的主要问题是,你打算用这个 xml 文件做什么?
  • 我有一个对象数组,我想用 ObjectOutputStream 序列化到 xml 文件中。
  • 然后通过应用程序上下文中的代码创建它,以便您以后可以访问它。 developer.android.com/training/basics/data-storage/files.html
  • 谢谢。我感谢您的帮助。我会调查的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
  • 1970-01-01
  • 2017-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多