黑马程序员技术交流社区

标题: IO [打印本页]

作者: 李前进    时间: 2014-3-30 15:30
标题: IO
FileWriter fw = new FileWriter("Demo.txt");
FileWriter fw = new FileWriter("Demo.txt",true);

最后带true和不带true有什么区别?
作者: osully    时间: 2014-3-30 15:32
本帖最后由 osully 于 2014-4-1 23:51 编辑

FileWriter
public FileWriter(String fileName, boolean append)throws IOException
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。

参数:
fileName - 一个字符串,表示与系统有关的文件名。
append - 一个 boolean 值,如果为 true,则将数据写入文件末尾处,而不是写入文件开始处。
抛出:
IOException - 如果指定文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它


我也不知道为什么会写错,日理万机啊..

作者: 枫露    时间: 2014-3-30 17:27
带true表示在Demo.txt中已有数据后面添加内容,不带则说明覆盖demo.txt已有内容
作者: 老貓钓鱼    时间: 2014-3-30 17:33
带true表示追加数据,不带表示覆盖数据
作者: 杨希    时间: 2014-4-1 16:21
如果你原来的文件里面有内容你试这两个就会看出来不同啦
1,不加true:文件重新覆盖,你得到只是你现有的新内容
2,加true:在文件内容的末尾处,继续添加,不会覆盖原有的文件内容
作者: ς高眼光の目标    时间: 2014-4-1 16:36
加了ture,就可以在该文件的尾处添加数据;简称 续写
作者: ╰青青子佩ˊゝ    时间: 2014-4-1 22:06
FileWriter对象的构造函数的这个true参数,是指文件被续写,没有true的,新写入的内容会覆盖原先内容,不过,这些的前提是文件本来就存在。
作者: bigbean    时间: 2014-4-1 22:15
osully 发表于 2014-3-30 15:32
PrintWriter
public PrintWriter(Writer out,
                   boolean autoFlush)创建新 PrintWriter。 ...

不是这个方法
作者: 小流氓123    时间: 2014-4-1 22:31
api神器也
作者: 刘先斌    时间: 2014-4-1 22:57

FileWriter fw = new FileWriter("Demo.txt");--------------------->盘符中如果有此文档时,将此文档覆盖。不保留原文档的内容。
FileWriter fw = new FileWriter("Demo.txt",true);-------------->盘符中有此文档时,不覆盖此文当,如果此文当内部用有内容,将新内容,从原内容的末尾开始添加。简称(续写)
作者: 孔丽阁    时间: 2014-4-1 23:45
osully 发表于 2014-3-30 15:32
PrintWriter
public PrintWriter(Writer out,
                   boolean autoFlush)创建新 PrintWriter。 ...

写错了吧
作者: 孔丽阁    时间: 2014-4-1 23:47
@param append    boolean if <code>true</code>, then data will be written
     *                  to the end of the file rather than the beginning.
这个参数代表此文件流是覆盖源数据,还是以添加的形式写入到源数据的后边。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2