java - 当我将文本从 java servlet 加载到 JTextPane 时,为什么会丢失换行符?

标签 java string servlets jtextpane

我尝试使用 java servlet 加载包含多行文本的文本文件的内容。
当我在浏览器中测试 servlet 时,它工作正常。文本加载新行字符。
但是,当我将其加载到 swing 应用程序中的字符串然后使用 textpane.setText(text); 时,新行就消失了。我尝试了在网上找到的许多解决方案,但仍然无法解决问题。

Servlet 代码:
从文件中读取文本(简化):

File file = new File(path);
StringBuilder data = new StringBuilder();   
BufferedReader in = new BufferedReader(new FileReader(file));
String line;
while ((line = in.readLine()) != null) {
    data.append(line);
    data.append("\n");
}
in.close();

发送文本:

PrintWriter out = response.getWriter();
out.write(text));

是平台问题吗? Servlet 是在 Linux 上编写和编译的,但我在 Windows(JBoss 上)上运行它。文本文件也存储在我的机器上。

最佳答案

而不是data.append("\n")使用

data.append(System.getProperty("line.separator"));

关于java - 当我将文本从 java servlet 加载到 JTextPane 时,为什么会丢失换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4302837/

相关文章:

java - 如何获取请求参数 "j_username"和 "j_password"的值?

java - 当用户使用 servlet 关闭浏览器时使 session 无效

java - 重新加载Servlet?

java - 在 java 中重写父类(super class)的父类(super class)中的方法?

java - Android 致命信号 11

java - 在哪里声明全局使用的 onOptionsItemSelected?

python - 从字符串中获取数字

java - 使用 Sharpen 将代码从 Java 转换为 C#

c - 将字符串传递给函数

Java将字符串中的两个整数拆分为double(转换时间)