【问题标题】:what is the difference between these two ways of writing to a file in java?这两种在java中写入文件的方式有什么区别?
【发布时间】:2013-09-08 21:04:31
【问题描述】:

我在下面有两个实现,其中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");
}
}

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

谢谢

【问题讨论】:

  • “还有其他比这些更好的写入文件的方法吗?” - 是的,但这取决于你所说的更好,以及你想要写什么. (如果只想将单个字符串写入文件,“更好”无关紧要!)

标签: java file-io io fileoutputstream


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    在许多情况下,使用Writer 更适合纯文本输入。如果您使用的是原始字节数据,那么FileInputStreamFileOutputStream 等流将是必要的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-08
      • 2019-03-31
      • 2013-09-09
      • 1970-01-01
      相关资源
      最近更新 更多