我的程序没有打开一个文本文件来读取它

我的程序没有打开一个文本文件来读取它

问题描述:

course.txt文件没有被我的代码读取。它允许我输入文件名,但不打开文件。我的程序没有打开一个文本文件来读取它

my .txt file courses.txt

package javaexam; 

import java.io.*; 
import java.util.ArrayList; 
import java.util.HashMap; 
import java.io.BufferedReader; 
import java.util.Scanner; 

public class BufferReader { 
    public static void main(String[] args) { 
     Scanner scanner=new Scanner(System.in); 
     BufferedReader bf = null; // shows warning that assigned but never used 
     String line; 
     System.out.println("Please enter the file name");  
     try { 
      bf = new BufferedReader(new FileReader("C:\\Users\\MohammedArfa\\Desktop\\New folder\\" + scanner.next())); 
     } catch(FileNotFoundException fnfex) { 
      //shows warning that the buffer assignment is declared but never used 
      System.out.println(fnfex.getMessage()+"The file was not found"); 
     } 
     System.exit(0); 
     try { 
      while((line=bf.readLine()) != null) { 
       System.out.println(line); 
      } 
     } catch(IOException ex) { 
      System.out.println(ex.getMessage()+"Error reading file"); 
     } finally { 
      System.out.println(0); 
     } 
    } 
} 
+1

你有什么错误吗? –

+3

你应该真的处理你的代码格式。然后你会在你的代码中看到这个***非常错误的***'System.exit(0);'。下次再多加小心。投票结束,因为看起来像一个“大”的错字(因为这个'System.exit(0)'在那里看起来不需要)。 – Tom

+0

没有错误,但没有显示文件的内容 – arfa

移动的system.exit(0)到catch语句以上......

try { 
    bf = new BufferedReader(new  FileReader("C:\\Users\\MohammedArfa\\Desktop\\New folder\\" + scanner.next())); 
} catch(FileNotFoundException fnfex) { 
     //shows warning that the buffer assignment is declared but never used 
     System.out.println(fnfex.getMessage()+"The file was not found"); 
     System.exit(0); 
} 

如果system.exit(0)不是抓内部则总是在你到达打印输出循环之前终止你的程序。