2014-01-29 56 views
0

我對Java完全陌生,剛剛開始了我的第一個大學課程。我們學會了什麼,但我試圖在第一項任務上取得領先。我想弄清楚如何讀取文本文件,而不是使用該信息將記錄寫入不同的文本文件。要開始我只是想閱讀一個文本文件,這是我迄今爲止...你能指出我在正確的方向。初學Java閱讀文本

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

public class HomeWork1 { 

public static void main(String[] args) { 
    // TODO Auto-generated method stub 
    String filename = "testing.txt"; 
    Scanner inputScanner; 

    try{ 

    inputScanner = new Scanner(new FileReader(filename)); 
    String s = inputScanner.nextLine(); 

    System.out.printf("%s", s); 
    }catch(Exception e) { 
     System.out.println("Error!"); 
    } 



} 

} 
+0

http://docs.oracle.com/javase/tutorial/essential/io/ – user1339772

+0

是的,你已經掌握了大部分的程序。這將讀取一個文本文件並將其內容的一行寫入控制檯。所以我猜你的下一步是解決如何讓它把內容寫入另一個文件;以及如何使它反覆運行直到文件全部被讀取。 –

回答

0

如果您使用的掃描儀只需要一個文件,則不需要Filereader。所以,你可以通過這個

inputScanner = new Scanner(new File(filename)); 

至於此行

String s = inputScanner.nextLine(); 

您正在閱讀一條線而已,你應該做一個循環讀取每一行替換該行

inputScanner = new Scanner(new FileReader(filename)); 

while(inputScanner.hasNextLine()){ 
    String s = inputScanner.nextLine(); 
} 

您的捕獲沒有錯,但相當不準確,您捕獲任何異常而不知道發生了什麼異常。 您應該依次捕獲這些異常。

catch(NumberFormatException e){ 
    e.printStackTrace(); 
} 
catch(FileNotFoundException e){ 
    e.printStackTrace(); 
} 
catch(IOException e){ 
    e.printStackTrace(); 
} 

每當程序符合第一個異常將退出(之所以爲了物質),這就是爲什麼你必須抓住從最具體的例外,以最普遍的。

+0

是的!我終於得到它的工作,非常感謝! – user3230402

+0

..歡迎... :) –