Android:如何以字节为单位读取文件?

新手上路,请多包涵

我正在尝试在 Android 应用程序中以字节为单位获取文件内容。我已经获得了 SD 卡中的文件,现在想以字节为单位获取选定的文件。我用谷歌搜索但没有这样的成功。请帮忙

下面是获取扩展名文件的代码。通过这个我得到文件并在微调器中显示。在选择文件时,我想以字节为单位获取文件。

 private List<String> getListOfFiles(String path) {

   File files = new File(path);

   FileFilter filter = new FileFilter() {

      private final List<String> exts = Arrays.asList("jpeg", "jpg", "png", "bmp", "gif","mp3");

      public boolean accept(File pathname) {
         String ext;
         String path = pathname.getPath();
         ext = path.substring(path.lastIndexOf(".") + 1);
         return exts.contains(ext);
      }
   };

   final File [] filesFound = files.listFiles(filter);
   List<String> list = new ArrayList<String>();
   if (filesFound != null && filesFound.length > 0) {
      for (File file : filesFound) {
         list.add(file.getName());
      }
   }
   return list;
}

原文由 Azhar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 634
2 个回答

这是一个简单的:

 File file = new File(path);
int size = (int) file.length();
byte[] bytes = new byte[size];
try {
    BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
    buf.read(bytes, 0, bytes.length);
    buf.close();
} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

在manifest.xml中添加权限:

  <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

原文由 idiottiger 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题