我试图读取文本文件的内容并打印出来。我不明白为什么在运行程序时不显示内容。
这是我的密码:
import java.io.*;
import java.util.Scanner;
public class ReadTxtfile{
public static void main (String [] args) throws IOException{
Scanner input = new Scanner(System.in);
//Open the file
File file = new File("chessfile.txt");
//Open files for reading
Scanner inputFile = new Scanner(file);
while(!file.exists()){
System.out.println("The file chessfile.txt is not found.");
System.exit(0);
}
//Read lines from the file
while(inputFile.hasNext());
//Read next
String piece = inputFile.nextLine();
String color = inputFile.nextLine();
String column = inputFile.nextLine();
String row = inputFile.nextLine();
//Display File
System.out.printf(piece, color, column, row);
//Close file
inputFile.close();
}
}//End of main
2条答案
按热度按时间rdlzhqv91#
你的while循环不工作。所以下一行数据不是来自字符串对象。如果你想在一行中获得所有的文本文件数据,可以试试下面的循环。
8yoxcaq72#
有几件事首先你不想在文件存在时循环,然后如果你真的需要使用if语句就使用system.exit
其次,你要使用file.hasnextline()而不是hasnext,循环的花括号应该是什么样子的。
最后,我猜printf试图很好地显示它们,但你不能在循环之外这样做,所以不要做那些无稽之谈,而是创建一个字符串数组,当你得到不同的值时,存储其中的每一行。假设您的数据在不同的行上,它应该看起来像这样。
最后,要在多行上显示它们,应该使用一个简单的增强循环。