Skip to main content
 首页 » 编程设计

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

2024年02月06日13thcjp

我尝试使用 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"));