2013-10-06 80 views
0

我遇到問題。基本上我要求使用一種方法從輸出文件打印。所以開始時,我開始用線條填充輸出文件..然後,當我試圖實際讀取它們並將它們打印在屏幕上時,出現了一個小問題。我實際上使用了'調試'選項,問題原來在'line = input.nextLine()'代碼行中,但我不知道爲什麼......我的意思是我們如何從輸出中讀取文件...幫助,將不勝感激。嘗試在將它們寫入輸出文件(java)後打印行

這裏是我的工作至今:

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

public class Problem_3 { 

    public static void main(String[] args) { 

     PrintWriter outFile = null; 
     File f1 = new File("try.txt"); 


     try { 

      outFile = new PrintWriter("try.txt"); 
      outFile.println("First line!"); 
      outFile.println("Second line!"); 
      outFile.println("Third line!"); 

      cat(f1); 
     } catch (Exception e) { 
      outFile.print("(1) Exception: " + e.getMessage()); // no such element exception 
     } 

     outFile.close(); 
    } 
    /* 
    * outFile = new PrintWriter(f1); outFile.println("Line 1"); 
    * outFile.println("Line 2"); outFile.println("Line 3"); outFile.print(""); 
    * cat(f1); } catch (Exception e) { System.out.println("(1)Exception: " + 
    * e.getMessage()); } outFile.close(); } 
    */ 

    public static void cat(File file) throws FileNotFoundException { 

     Scanner input = null; 
     String line = ""; 

     input = new Scanner(new FileReader(file)); 
     //line = input.next(); 
     // line = input.nextLine();// this line calls the exception in the main method 

     while ((line != null)) { 
      System.out.println("In the while loop"); 
      System.out.println("Line 323" + line); 
      return; 
     } 
     input.close(); 
    } 
} 
+2

您可能希望在嘗試讀取文件之前關閉文件*。原因是緩衝區可能沒有被刷新,因此當您嘗試讀取文件時,文件中實際上沒有任何內容。 –

+3

「有一個小問題」 - 有什麼問題?你談論「這條線叫做例外」 - 什麼例外?拋出*和*被捕獲*的異常是未調用的。 –

+0

我這樣做了,但它實際上並沒有工作 – Scarl

回答

1

修改代碼爲:

try { 

    outFile = new PrintWriter("try.txt"); 
    outFile.println("First line!"); 
    outFile.println("Second line!"); 
    outFile.println("Third line!"); 

    outFile.close(); 


} 
catch (Exception e) { 
    outFile.print("(1) Exception: " + e.getMessage()); // no such element exception 
} 

cat(f1); 

你不能看到你寫的是什麼,你關閉該文件之前。

+0

謝謝!這工作!我一直認爲關閉outFile應該像最後一樣完成......感謝您的幫助! – Scarl