我有一个已签名的文本文件,我需要将此文件完全按原样读取到该字符串中。我目前使用的代码:
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);
如果文件最后没有返回,则工作,但如果确实有返回,则签名检查将失败。围绕这个问题有很多问题,所以我很难找到专门回答这个的问题,所以这可能是一个重复的问题。我有一些限制:
无论是循环还是一次性读取整个事情对我来说都不重要我只需要100%保证无论文件中是否有回车,该文件都会在中完全读取因为它在磁盘上。
答案 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;
}