2016-03-08 73 views
0

我試圖讓我輸入的整數被寫入文本文件,但是我編輯代碼我的記事本吐出我的整數作爲無稽之談。示例:保存在.txt文件中的整數輸入(Java)

Integer輸入:java.util.Scanner [delimiters = \ p {javaWhitespace} +] [position = 1] [match valid = true] [need input = false] [source closed = false] [skipped =假] ...

我相信我的問題是在我標有「*」的行。我將如何去解決這個問題?我相信它與「String.valueOf(input)」行有關。完整的代碼鏈接如下!

for (int i = 0 ; i < 10 ; i++) { 
      System.out.printf("Please enter integer %d: ", i+1); 
      numbers[i] = input.nextInt(); 

      { 
       try 
       { 
        *output.format("Integer inputted: %s%n", String.valueOf(input)); 
       } 
       catch (FormatterClosedException formatterClosedexception) 
       { 
        System.err.println("Error writing to the file. Terminating."); 
        break; 
       } 
       catch (NoSuchElementException elementException) 
       { 
        System.err.println("Invalid input. Please try again."); 
        input.nextLine(); 
       } 

http://pastebin.com/yV6dhSMt

回答

0

你可以用它來在寫入文件:

PrintWriter writer = new PrintWriter(fileName); 
writer.println("1"); 
writer.println("2"); 
writer.close(); 

這從該文件中讀取:

String line, newLine;   // Variable to store a line and to check for a new line 
    String[] splited;    // Variable to split text 
    int lines = 0;    // Variable to check how many lines in a file 

    Scanner myReader = new Scanner(new File(fileName)); 
    BufferedReader bufferedReader = new BufferedReader(new FileReader(fileName)); 

    Numbers[] numbers = new numbers[2]; 

    while ((line = bufferedReader.readLine()) != null) { 
    lines++; 
    for (int i = 1 ; i < 2 ; i++) { 
     while (myReader.hasNextLine()) { 
      newLine = myReader.nextLine(); 
      splited = newLine.split(","); 
      numbers[i] = Integer.parseInt(splited[i]); 
     } 
    } 
    } 

    myReader.close(); 

我剛纔寫的這裏,但從我記得這是我是如何做到的。

+0

http://imgur.com/MPrbLcO 這是否正確?它仍然給我一個空白的文件。 – Walby

+0

在for循環之後加上'write.close();'。 –

+0

好吧,我的部分是多麼愚蠢的錯誤。 現在,這一切都很好,但我似乎無法將整數打印到文件中,但我可以打印其他任何內容。 這是我正在使用的行: 「writer.printf(」輸入的整數是%d \ n「,輸入);」 但我得到這個錯誤: 異常線程 「main」 java.util.IllegalFormatConversionException:d = java.util.Scanner的 \t在$的java.util.Formatter FormatSpecifier.failConversion(來源不明) – Walby