2016-03-01 48 views
0

我正在写一些使用序列化文件的代码。该文件被称为alcala.ser并且在utils,子文件夹java。调用该文件的类位于相同的文件夹中。下面的代码:引用android studio中的文件

InputStream file = new FileInputStream("/alcala.ser"); 

我也试过:

InputStream file = new FileInputStream("alcala.ser"); 

在这两种情况下,我得到

java.io.FileNotFoundException:/alcala.ser:打开失败:ENOENT(没有 这样的文件或目录)

我应该如何引用fi乐?

在此先感谢。

+0

'/ alcala.ser'将是设备的根...我怀疑你的文件将在那里存在,因为反正写访问是不允许 –

+0

你应该[做出'assets'文件夹](HTTP://计算器.com/a/27673773/2308683)来存储您的文件。 –

回答

1

该文件名为alcala.ser,位于util的子文件夹中。

将文件移出并进入assets/。然后,在资产上使用AssetManageropen()InputStream

+0

但我不能从'静态'上下文中引用'非静态'方法......任何想法? –

+1

@DanielHurtadoRamirez:如果所讨论的方法是'open()',则通过调用'Context'(例如'Activity'或'Service')上的'getAssets()'来获得'AssetManager'实例。 – CommonsWare