GWTから、以下のようにテキストファイル「myFile.txt」を読み取りました。問題は、サーバーに応じて「入力」文字列で異なる結果が得られることです。
- Eclipse Indigoローカルサーバー(デバッグ)から実行した場合、「input」の最後に文字「\r」と「\n」が含まれます。
- Google App Engineから実行すると、「input」には末尾の文字「\ n」のみが含まれるため、input.lengthが1文字少なくなります。
なぜこれが起こるのですか、そしてどうすれば同じ振る舞いをすることができますか?
ありがとう
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();
}