我正在尝试通过读取文本文件中的内容来发送电子邮件。
我要读取的文件
Line 1
Line 2
Line 3
我已经使用JUnit测试了代码,并且我可以收到与文本文件中格式相同的邮件。
使用JUnit输出邮件
Line 1
Line 2
Line 3
但是当部署在Tomcat时,我收到一封邮件,文本内容正常,但是换行没有被识别。
使用Tomcat服务器时的输出邮件
Line 1Line 2Line 3
我正在使用的代码来读取文件内容。
private String readFile(String pathname) throws IOException {
File file = new File(pathname);
StringBuilder fileContents = new StringBuilder((int) file.length());
Scanner scanner = new Scanner(file);
String lineSeparator = System.getProperty("line.separator");
try {
while (scanner.hasNextLine()) {
fileContents.append(scanner.nextLine() + lineSeparator);
}
return fileContents.toString();
} finally {
scanner.close();
}
}
我已将服务器设置为调试模式,可以看到新行被添加到fileContents.toString()
中。
我不确定我漏掉了什么。是否与字符集有关?我不确定....