我有这个程序,让你打开一个文件,并将其一次全部使用下面的代码到一个JTextArea
读它:一次添加一行到字符串
try{
String fileContents = new Scanner(new File(fileName)).useDelimiter("\\Z").next();
}catch(FileNotFoundException ex){
ex.printStackTrace();
}
myTextArea.setText(fileContents);
和工作原理。但我的问题是,我怎样才能将这个读入我的fileContents
字符串中,并且每当我换行符时仍然会在换行符中添加它?
这里是我有什么,但是这使这一切在一条线在我的textarea:
try{
Scanner contentsTextFile = new Scanner(new File(fileName));
while(contentsTextFile.hasNext()){
fileContents = contentsTextFile.useDelimiter("\r\n|\n").nextLine();
}
}catch(FileNotFoundException ex){
ex.printStackTrace();
}
myTextArea.setText(fileContents);
我想看到的是使用一个分隔符,只有读入这一行文字中取得了新的生产线一次一行,而不是整个文件。
有人可以帮忙吗?
是的,这是我决定我会做的。我使用'FileReader'和'BufferedReader'获取文件内容,然后使用'myTextArea.append(contents)'一次将它们追加到'JTextArea';' –
+1但JTextComponent.read/write接受文件中的分隔符(双向I/O) – mKorbel
@mKorbel:同意对'文档'进行不可分割的操作。除了Scanner外! :-) – trashgod