这可能是一个简单的问题。我在扫描文本文件时遇到问题。我想扫描一个文本文件并在JOptionPane中显示该消息。它扫描但它只显示我的文本文件的第一行,然后停止忽略其他行。如果我能得到一点帮助。非常感谢你!这是我的代码:
File file = new File("src//mytxt.txt");
try{
Scanner input = new Scanner(file);
while(input.hasNext()){
String line = input.nextLine();
JOptionPane.showMessageDialog(null, line);
return;
}
input.close();
}
catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "File not found");
}
}
答案 0 :(得分:5)
如果您希望整个文件显示在一个JOptionPane
中,请为其创建StringBuilder
,将每行添加到该文件然后显示。
File file = new File("src//mytxt.txt");
try {
Scanner input = new Scanner(file);
StringBuilder op = new StringBuiler();
while (input.hasNext()) {
op.append(input.nextLine());
}
JOptionPane.showMessageDialog(null, op.toString());
input.close();
}
catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "File not found");
}
答案 1 :(得分:0)
现在,您只在JOptionPane
中显示一行。您必须先生成message
,然后再将其显示到JOptionPane
-
File file = new File("src//mytxt.txt");
String message = "";
try{
Scanner input = new Scanner(file);
while(input.hasNext()){
String line = input.nextLine();
message = message+line;
}
JOptionPane.showMessageDialog(null, line);
}
catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "File not found");
}finally{
input.close();
}
}
答案 2 :(得分:0)
使用
while (input.hasNext())
{
//
scan
并将每行附加到String
variable
}`
scan
文件中的每一行,并将整个文本保存在String
变量中。
然后使用JOptionPane.showMessageDialog(null,op)
在单个JOptionPane
中显示整个文本。