0

私は問題があります。基本的に、出力ファイルから印刷する方法を使用するように求められます。まず、実際に出力ファイルに行を入力し始めました..実際にそれらを読み取って画面に印刷しようとすると、わずかな問題が発生しました。私は実際に「デバッグ」オプションを使用し、問題はコードの「行 = input.nextLine()」行内にあることが判明しましたが、理由はよくわかりません..つまり、出力から読み取る方法ですファイル...助けていただければ幸いです。

これまでの私の仕事は次のとおりです。

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();
    }
}
4

1 に答える 1

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);

ファイルを閉じる前に、書いたものを読むことはできません。

于 2013-10-06T15:06:01.823 に答える