0

入力ファイル textfile.txt を受け取り、そこに含まれる行数をテキスト ファイル outputtextfile.txt に出力するコードを書きましたが、出力は空白です。

public static void main(String args[]) throws FileNotFoundException
{       
    String inputFileName = "textfile.txt";

    printFileStats(inputFileName);
}
public static void printFileStats(String fileName) throws FileNotFoundException
{
    String outputFileName = "outputtextfile.txt";
    File inputFile = new File(fileName);
    Scanner in = new Scanner(inputFile);
    PrintWriter out = new PrintWriter(outputFileName);

    int lines = 0;
    int words = 0;
    int letters = 0;

    while(in.hasNextLine())
    {
        lines++;
    }
    out.print(lines);
}
4

2 に答える 2

4

Scannerインスタンスから入力を読み取って、whileループを完了できるようにします

while (in.hasNextLine()) {
   in.nextLine(); // add this
   lines++;
}

さらに、PrintWriter

out.close();
于 2013-10-23T23:53:43.427 に答える
0

PrintWriter ドキュメントを確認してください: http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html

PrintWriter は自動的に書き込みを行わないため、書き込むには出力ストリームを flush() する必要があります。

また、使い終わったら、PrintWriter で close() を呼び出してリソースを解放する必要があります。

于 2013-10-23T23:56:36.810 に答える