我是java的新手,刚刚参加了我的第一次大学课程。我们已经学到了什么,但我正试图在第一次任务中抢占先机。我试图弄清楚如何读取文本文件而不是使用该信息将记录写入不同的文本文件。首先,我正在尝试阅读文本文件,这是我到目前为止所做的...你能指出我正确的方向。
import java.io.*;
import java.util.*;
public class HomeWork1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String filename = "testing.txt";
Scanner inputScanner;
try{
inputScanner = new Scanner(new FileReader(filename));
String s = inputScanner.nextLine();
System.out.printf("%s", s);
}catch(Exception e) {
System.out.println("Error!");
}
}
}
答案 0 :(得分:0)
如果您使用的扫描仪只需要文件,则不需要Filereader。所以你可以替换这一行
inputScanner = new Scanner(new FileReader(filename));
由此
inputScanner = new Scanner(new File(filename));
至于这一行
String s = inputScanner.nextLine();
您只读一行,您应该循环阅读每一行。
while(inputScanner.hasNextLine()){
String s = inputScanner.nextLine();
}
您的捕获没有错,但相当不准确,您正在捕获任何异常而不确切知道发生了哪个异常。 您应该按顺序捕获这些异常。
catch(NumberFormatException e){
e.printStackTrace();
}
catch(FileNotFoundException e){
e.printStackTrace();
}
catch(IOException e){
e.printStackTrace();
}
每当程序遇到第一个异常时它就会退出(为什么订单有问题),这就是为什么你必须从最具体到最常见的异常中捕获异常的原因。