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

您需要 flush() 输出流才能写入,因为 PrintWriter 不会自动执行此操作。

此外,一旦完成,您应该通过调用 PrintWriter 上的 close() 来释放资源!

于 2013-10-23T23:56:36.810 回答