黑马程序员技术交流社区
标题:
FileWriter 中覆盖的问题[算了,我自己慢慢想吧]
[打印本页]
作者:
孙峰
时间:
2012-6-10 18:56
标题:
FileWriter 中覆盖的问题[算了,我自己慢慢想吧]
本帖最后由 孙峰 于 2012-6-10 19:44 编辑
public static void method_1() throws IOException
{ //老毕的例子,将一个文件复制到另一个地方,
FileWriter fw=new FileWriter("e:\\sun\\eng0.txt");//
在这里重复写入新文件中,为什么不用这么定义了 new FileWriter("e:\\sun\\eng0.txt",true),?
FileReader fr=new FileReader("d:\\eng0.txt");
int ch=0;
while((ch=fr.read())!=-1)
{
fw.write(ch);
}
fw.close();
fr.close();
}
作者:
何拴绪
时间:
2012-6-10 19:16
这个随你自己怎么写吧,就是给原文件追加到末尾而已,测试程序由你自己决定。
作者:
陈嘉宾
时间:
2012-6-10 19:19
new FileWriter("e:\\sun\\eng0.txt",true)、、ture代表不覆盖已有文件,并在已有文件末尾处续写
而复制文件FileWriter fw=new FileWriter("e:\\sun\\eng0.txt");
FileReader fr=new FileReader("d:\\eng0.txt");
这里是创建一个eng0.txt文件
作者:
江南
时间:
2012-6-10 19:19
FileWriter
public FileWriter(File file,
boolean append)
throws IOException在给出 File 对象的情况下构造一个 FileWriter 对象。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。
参数:
file - 要写入数据的 File 对象
append - 如果为 true,则将字节写入文件末尾处,而不是写入文件开始处
抛出:
IOException - 如果该文件存在,但它是一个目录,而不是一个常规文件;或者该文件不存在,但无法创建它;抑或因为其他某些原因而无法打开它
从以下版本开始:
1.4
--------------------------------------------------------------------------------
作者:
孙峰
时间:
2012-6-10 19:29
陈嘉宾 发表于 2012-6-10 19:19
new FileWriter("e:\\sun\\eng0.txt",true)、、ture代表不覆盖已有文件,并在已有文件末尾处续写
而复制文 ...
我的意思是说:后面while循环不是重复写入了吗
作者:
郑传庆
时间:
2012-6-10 19:32
FileWriter fw=new FileWriter("e:\\sun\\eng0.txt"); //每次运行都写入数据,如果该文件将被覆盖
FileWriter fw1 = new FileWriter("e:\\sun\\eng0.txt",true);//在给定文件名情况下,如果第二个参数传入的值为true,则将数据写入文件末尾处,而不是写入文件开始处。 falas则不写入
作者:
晏文根
时间:
2012-6-10 19:45
FileWriter 有几个构造方法,毕老师用的是
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。
你所说的是:
FileWriter(File file, boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。
其实都是构造方法。如果那文件不存在,效果都一样。
如果那文件存在,毕老师用的那种方式将会覆盖原来存在的。
而你说的会追加到原来的那个文件结尾处。
我觉得老毕的更好些,毕竟是复制文件,所以还是一模一样好。你可以改改你的代码,先判断下文件是否存在。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2