我从 GWT 中读取了一个文本文件“myFile.txt”,如下所示。问题是我在“输入”字符串中得到不同的结果,具体取决于服务器:
- 如果我从 Eclipse Indigo 本地服务器运行(调试),“输入”在末尾包含字符“\r”和“\n”。
- 如果我从 Google App Engine 运行它,“输入”仅包含结尾字符“\n”,因此 input.length 中少了一个字符。
为什么会发生这种情况,我怎么会有同样的行为?
谢谢
String input=readFromFile("myFile.txt");
public String readFromFile(String fileName) {
File file = new File(fileName);
StringBuffer contents = new StringBuffer();
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(file));
String text = null;
while ((text = reader.readLine()) != null) {
contents.append(text).append(System.getProperty("line.separator"));
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (reader != null) {
reader.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
contents.deleteCharAt(contents.length()-2); // Remove to make it work in GAE
contents.deleteCharAt(contents.length()-1);
return contents.toString();
}