Java программа для чтения текстовых файлов с Bufferedreader и FileReader. Компилируется но не работает - PullRequest
3 голосов
/ 16 июля 2011

Эта программа компилируется, но не работает.Это просто обработка исключения открытия файла.Пожалуйста, помогите мне. Спасибо за ваше время.

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");
        }
    }
}

1 Ответ

1 голос
/ 16 июля 2011

Очень вероятно, что вы не указываете правильный путь к файлу при его вводе. Это должен быть либо абсолютный путь, либо относительный путь, основанный на вашем текущем рабочем каталоге. Чтобы точно увидеть, что происходит, вам нужно посмотреть на исключение, которое выдается. Либо распечатайте его с

e.printStackTrace()

или оберните это в непроверенное исключение:

throw new IllegalStateException(e);

или пусть IOException вызывается из openFile (), через printOnScr () и из main ()

...