如何解决读取文件时如何保持格式
| 我正在尝试将.java文件读取到JTextArea中,无论我使用哪种方法读取文件,都永远不会保留格式。实际的代码还可以,但是注释总是被弄乱。这是我的尝试。//Scanner:
//reads an input file and displays it in the text area
public void readFileData(File file)
{
Scanner fileScanner = null;
try
{
fileScanner = new Scanner(file);
while(fileScanner.hasNextLine())
{
String line = fileScanner.nextLine();
//output is a JTextArea
output.append(line + newline);
}
}
catch(FileNotFoundException fnfe)
{
System.err.println(fnfe.getMessage());
}
}
//Scanner reading the full text at once:
//reads an input file and displays it in the text area
public void readFileData(File file)
{
Scanner fileScanner = null;
try
{
fileScanner = new Scanner(file);
fileScanner.useDelimiter(\"\\\\Z\");
String fullText = fileScanner.next();
//print to text area
output.append(fullText + newline);
}
catch(FileNotFoundException fnfe)
{
System.err.println(fnfe.getMessage());
}
}
//BufferedReader:
//reads an input file and displays it in the text area
public void readFileData(File file)
{
//Scanner fileScanner = null;
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(file));
String line = \"\";
while((line = reader.readLine()) != null)
{
output.append(line + newline);
}
}
无论如何,要保持格式相同吗?
PS-也发布在http://www.coderanch.com/t/539685/java/java/keep-formatting-while-reading-files#2448353
猎人
解决方法
使用JTextArea.read(...)方法。
, 可能是因为var newline被硬编码为\'\\ n \'或类似的东西。尝试如下定义换行符:
String newline=System.getProperty(\"line.separator\");
此解决方案更像是“一般”,但如果使用JTextArea,我将使用camickr解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。