这两种写入java文件的方式有什么区别?

时间:2013-09-05 06:38:54

标签: java file-io io fileoutputstream

我有两个实现,其中PrintStream对象包装FileOutputStream对象或File对象。我对两者都做了同样的事情。如果一种方法不适用于写入,它们之间是否存在差异。

public class Varags {
        public static void main(String[] args) throws FileNotFoundException{

            OutputStream output = new FileOutputStream("Test.txt");
                         PrintStream p1=new PrintStream( output);
                         p1.println("trying");

            PrintStream p=new PrintStream( new File("test2.txt"));
            p.println("trying");
}
}

是否有其他写入文件的方法比这些更好?

由于

2 个答案:

答案 0 :(得分:1)

据我所知,没有区别。根据Javadocs,File()版本无论如何都会创建一个OutputStreamWriter,并且只是为了方便而包含。

在许多情况下,使用Writer更适合纯文本输入。如果您正在使用原始字节数据,那么将需要一个Stream。

答案 1 :(得分:0)

PrintStream提供了一些将文本写入文件的便捷方法。要更好地控制将字符写入文件,请使用PrintWriter。

OutputStream用于将字节(纯数据,而不仅仅是文本)写入文件。