次の非常に単純な Java プログラムを作成して、ユーザーにファイル名の入力を求めると、このファイルの行数が標準出力に報告されます。
import java.io.*;
import java.util.*;
public class CountLine {
public static void main(String[] args)
{
// prompt the user to enter their file name
System.out.print("Please enter your file name: ");
// open up standard input
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = null;
// read the username from the command-line; need to use try/catch with the
// readLine() method
try {
fileName = br.readLine();
} catch (IOException ioe) {
System.out.println("IO error trying to read your name!");
System.exit(1);
}
System.out.println("Thanks for the file name, " + fileName);
File file = new File("C:/Users/Will/Desktop/"+fileName);
Scanner scanner;
try {
scanner = new Scanner(file);
int count =0;
String currentLine;
while(scanner.hasNextLine())
{
currentLine=scanner.nextLine();
count++;
}
System.out.println("The number of lines in this file is "+count);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("There is no such file");
e.printStackTrace();
}
}
}
それは働いています.専門家が私を助けてくれれば本当に感謝しています.
- このコード フラグメントで改善できる点がないか確認してください。
- ファイルが見つからない場合、例外は最も外側の catch ステートメントでキャッチされ、スタック トレースが出力されます。しかし、あまりユーザーフレンドリーではないと思います.ファイルが存在しない場合、プロセス全体を最初からやり直す方法はありますか?
前もって感謝します。