2011-07-16 6 views
3

このプログラムは動作しませんが、コンパイル中です。オープニングファイルの例外を処理するだけです。助けてください。あなたのお時間をありがとう。バッファ付きリーダーとFileReaderを使用したJavaテキストファイル読み取りプログラム。コンパイルしても動作しない

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

取得している例外のstacktraceを追加するのを忘れました。 –

+0

なぜIOExceptionがスローされると、ファイルが存在しないということですか?あなたはどんなメッセージをeで見ますか? –

答えて

1

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

e.printStackTrace() 

でそれをプリントアウトまたはチェックされない例外で、それを包む次のいずれか)(

throw new IllegalStateException(e); 

かのIOExceptionが(printOnScrを通じて、)(のOpenFileからスローさせ)、そしてメインの外に

関連する問題