Android正确读取文本文件

时间:2015-04-15 19:12:57

标签: java android file-io

我有一个已签名的文本文件,我需要将此文件完全按原样读取到该字符串中。我目前使用的代码:

    BufferedReader br = new BufferedReader(new FileReader(file));
    String line;
    while ((line = br.readLine()) != null) {
        invitationText.append(line);
        invitationText.append('\n');
    }
    invitationText.deleteCharAt(invitationText.length()-1);

如果文件最后没有返回,则工作,但如果确实有返回,则签名检查将失败。围绕这个问题有很多问题,所以我很难找到专门回答这个的问题,所以这可能是一个重复的问题。我有一些限制:

  • 它不能使用Java 7中添加的方法(我在Android上,我没有访问权限)
  • 它无法使用org.apache IOUtils方法(我无法引入该库)

无论是循环还是一次性读取整个事情对我来说都不重要我只需要100%保证无论文件中是否有回车,该文件都会在中完全读取因为它在磁盘上。

1 个答案:

答案 0 :(得分:1)

以下是我使用的内容:

 public static String readResponseFromFile() throws IOException {
    File path = "some_path";
    File file = new File(path, "/" + "some.file");
    path.mkdirs();
    String response = null;

    if (file != null) {
        InputStream os = new FileInputStream(file);
        try {
            byte[] bytes = new byte[(int) file.length()];
            os.read(bytes);
            response = new String(bytes);
            os.close();

        } catch (IOException ioEx) {
            throw ioEx;
        } finally {
            if (os != null) {
                os.close();
            }
        }
    }
    return response;
}