Почему я теряю символ новой строки при загрузке текста из сервлета Java в JTextPane? - PullRequest
3 голосов
/ 29 ноября 2010

Я пытаюсь загрузить содержимое текстового файла, содержащего текст в несколько строк, используя сервлет java.
Когда я тестирую сервлет в браузере, он работает нормально.Текст загружается с новыми символами строки.
Но когда я загружаю его в строку в своем приложении Swing, а затем использую textpane.setText(text);, новые строки исчезают.Я перепробовал много решений, которые нашел в сети, но все еще не могу сделать это правильно.

Код сервлета:
Чтение текста из файла (упрощенно):

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));

Это какая-то проблема платформы?Сервлет был написан и скомпилирован на Linux, но я запускаю его на Windows (на JBoss).Текстовые файлы также хранятся на моем компьютере.

1 Ответ

0 голосов
/ 29 ноября 2010

Вместо data.append("\n") используйте

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