将数据从标准输出写入java中的文本文件不起作用

时间:2012-09-12 03:31:33

标签: java file-io bufferedreader redirectstandardoutput printstream

我是java编程的新手并且已经尝试了最长的时间来使以下代码工作但是虽然程序运行良好我似乎没有看到文本文件中的任何输出我将输出重定向到。如果有人能帮助我,我会非常感激。 以下是整个代码。我遇到的问题是只有一行被写入文本文件,我在任何时间点只有一行文件。我知道这与循环和每次重新初始化的对象有关,但我不知道如何克服这个问题,我知道这将成为一个非常基本的错误。但我现在看不到它,所以任何帮助都会非常感激。感谢所有已经尝试过帮助的人,您的建议非常有用。

 PrintStream out;
    for(int count = 0; count<list2.size(); count++)
    {

            String originalString = list2.get(count);
            try {
                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                String readLine = br.readLine();
                out = new PrintStream(new FileOutputStream("/Users/xyz/Desktop/metaDataFormatted.txt"));
                System.out.println(readLine);
                System.setOut(out);
                //out.flush();
                //out.close();

                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    System.out.println("Error During Reading/Writing");
                }
                System.out.println(count+" >");
                //the following line is a method from another class which produces all the output on standard out.
                                    md.getHomePageLinks(originalString);






    }

1 个答案:

答案 0 :(得分:2)

尝试在关闭流之前调用System.out.println(data)

 System.out.println(readLine);
 System.setOut(out);