为什么我的输出文件是空白的?

时间:2013-10-23 23:52:21

标签: java input

我写了一些代码来获取输入文件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);
}

2 个答案:

答案 0 :(得分:4)

阅读Scanner实例的输入以允许while循环完成

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

另外关闭PrintWriter

out.close();

答案 1 :(得分:0)

查看PrintWriter文档:http://docs.oracle.com/javase/7/docs/api/java/io/PrintWriter.html

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

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