Android读取本地文件的方法有以下几种:
- 使用FileInputStream或FileReader类读取文件内容:
File file = new File("/sdcard/myfile.txt"); FileInputStream fis = new FileInputStream(file); // 或者 // FileReader reader = new FileReader(file); // ... // 读取文件内容 byte[] buffer = new byte[1024]; int length = fis.read(buffer); // 或者 // int length = reader.read(buffer); // 关闭流 fis.close(); // 或者 // reader.close();
- 使用BufferedReader类按行读取文本文件内容:
File file = new File("/sdcard/myfile.txt"); BufferedReader reader = new BufferedReader(new FileReader(file)); String line; while ((line = reader.readLine()) != null) { // 处理每行内容 } // 关闭流 reader.close();
- 使用Scanner类读取文件内容:
File file = new File("/sdcard/myfile.txt"); Scanner scanner = new Scanner(file); while (scanner.hasNextLine()) { String line = scanner.nextLine(); // 处理每行内容 } // 关闭流 scanner.close();
- 使用AssetManager类读取assets文件夹下的文件:
AssetManager assetManager = getAssets(); InputStream inputStream = assetManager.open("myfile.txt"); // 读取文件内容 byte[] buffer = new byte[1024]; int length = inputStream.read(buffer); // 关闭流 inputStream.close();
需要注意的是,读取文件时需要获取相应的读取文件的权限,例如读取外部存储器文件需要添加
权限到AndroidManifest.xml文件中。同时,还需要处理文件读取过程中可能抛出的异常,例如FileNotFoundException等。