如何在Android中打开原始文件夹中的文件



我正在使用multiparentity,我试图引用原始文件夹中的文件。下面是代码:

MultipartEntity reqEntity = new MultipartEntity();
reqEntity.addPart(new FormBodyPart("file", new FileBody(new File("test.txt"))));
test.txt文件在我的res/raw文件夹中。当我执行代码时,我得到以下异常:FileNotFoundException:/test.txt: open failed: enent(没有这样的文件或目录) 有谁能帮我一下吗?

不幸的是,您不能直接从原始文件夹创建File对象。你需要将它复制到你的sd卡或应用程序的缓存中。

您可以通过以下方式检索文件的InputStream

    InputStream in = getResources().openRawResource(R.raw.yourfile);
  try {
       int count = 0;
       byte[] bytes = new byte[32768];
       StringBuilder builder = new StringBuilder();
       while ( (count = in.read(bytes,0, 32768)) > 0) {
           builder.append(new String(bytes, 0, count));
       }
       in.close();
       reqEntity.addPart(new FormBodyPart("file", new StringBody(builder.toString())));
   } catch (IOException e) {
       e.printStackTrace();
   }

你可以把文件放在/res/raw目录中,文件将被索引,并可以通过R文件中的id访问:

InputStream is = getResources().openRawResource(R.raw.test);
System.out.println(is);

相关内容

  • 没有找到相关文章

最新更新