1

我正在做一个 Android 项目,我有一个 .bin 格式的文件,我把它放在我的 Java 项目的根目录(不在任何文件夹中)。我尝试使用 FileInputStream 检索它,如下所示:

InputStream file = new FileInputStream("filename.bin");

但它无法读取文件。

我应该把我的 bin 文件放在哪里?或者还有什么我需要注意的吗?

[编辑]错误:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/ref/FinalReference

[编辑] 解决方案:从这里找到解决方案 >> Eclipse 错误: NoClassDefFoundError: java/lang/ref/FinalReference

1. Find Running configurations -> java application
2. In the new configuration's Classpath tab, find "Android Library" under Bootstrap Entries and remove it.
3. Still in the Classpath tab, select Bootstrap Entries and click the Advanced button.
4. Choose Add Library and click OK.
5. Select JRE System Library and click Next.
6. Select Workspace Default JRE and click Finish.
4

3 回答 3

2

FileInputStream 还将文件放入其构造函数之一。

你可以做

File f = new File("filename.bin")
if (f.isFile()) {
    InputStream is = new FileInputStream(f);
} 
else {
    //cope with missing file
}

这样,如果文件消失或不在您认为的位置,您将不会收到 FileNotFoundException

@Srigan 提出了一个很好的观点,尽管尝试 / infront

于 2012-09-20T08:00:27.550 回答
0

获取当前工作目录:System.getProperty("user.dir"));

于 2012-09-20T08:00:04.197 回答
0

上面的语法表示该文件filename.bin与您的代码位于同一文件夹中。尝试提供文件的绝对路径或将文件放在文件src夹中并使用

InputStream file = new FileInputStream("/filename.bin");
于 2012-09-20T07:51:43.740 回答