【发布时间】:2016-01-18 04:31:40
【问题描述】:
我在res/raw 中有一个名为“pack.dat”的原始文件。
我可以使用以下代码打开InputStream:
InputStream fis = null;
try {
fis = context.getResources().openRawResource(R.raw.pack);
BufferedReader br = new BufferedReader(new InputStreamReader(fis));
String nextLine;
int i = 0, j = 0;
while ((nextLine = br.readLine()) != null) {
if (j == 5) {
j = 0;
i++;
}
}
} catch (Exception e) {
e.printStackTrace();
}
这是有效的,我可以从那个文件中读取。
但不幸的是,我需要FileInputStream。当我这样做时:
FileInputStream fs = null;
Uri url = Uri.parse("android.resource://" +
context.getPackageName() + "/" + R.raw.pack);
File file = new File(url.toString());
try {
fs = new FileInputStream(file);
fs.getChannel().position(0);
fs.read(bDatensatz, 0, indexlaenge);
} catch (Exception e) {
e.printStackTrace();
}
我在
收到“file not found”
fs = new FileInputStream(file);
context.getResources().openRawResource(R.raw.pack) 在第一个示例中返回一个InputStream。
我可以用什么来获得FileInputStream?
【问题讨论】:
标签: java android android-studio inputstream fileinputstream