3

このプログラムはコンパイル中ですが、動作していません。オープニングファイルの例外を処理するだけです。助けてください。お時間をいただきありがとうございます。

import java.io.*;
import java.util.Scanner;

public class ReadingFile {

    /**
     * @param args
     */
    public static void main(String[] args) {
        ReadingFile rf = new ReadingFile();
        rf.printOnScr();
    }

    private BufferedReader openFile(String meString){
        Scanner sc = new Scanner(System.in);
        BufferedReader bf = null;
        while (bf == null) {
            try {
                System.out.println("Enter a file name");
                String fileName = sc.nextLine();

                FileReader b = new FileReader(fileName);

                bf = new BufferedReader(b);

            } catch (IOException e) {
                System.out.println("The file you are trying to open dose not exist.");
            }   
        }
        return bf;
    }
    private void printOnScr() {
        BufferedReader br = openFile("Please enter a file");
        try {
            while(true){
                String  line = br.readLine();
                if(line == null) break;
                System.out.println(line);
            }
            br.close();
        } catch (IOException e) {
            System.out.println("The line you are trying to access have problem/s");
        }
    }
}
4

1 に答える 1

1

ファイルを入力するときに、ファイルへの正しいパスを指定していない可能性があります。現在の作業ディレクトリに基づく絶対パスまたは相対パスのいずれかである必要があります。ただし、何が起こっているのかを正確に確認するには、スローされた例外を確認する必要があります。で印刷するか

e.printStackTrace()

または未チェックの例外でラップします。

throw new IllegalStateException(e);

または、openFile() から、printOnScr() を介して、main() から IOException がスローされるようにします。

于 2011-07-16T05:25:25.590 に答える