
看下这个错误
Stringabc="111";Stringdef="222";OutputStreamos=newFileOutputStream("E:\\format.msg");...
String abc="111";
String def="222";
OutputStream os=new FileOutputStream("E:\\format.msg");//需要写入的文件
OutputStreamWriter osw =new OutputStreamWriter(os,"ASCII");//使用ASCII编码写入
BufferedWriter bw = new BufferedWriter(osw);
bw.write(abc);
OutputStream os2=new FileOutputStream("E:\\format.msg");
OutputStreamWriter osw2 =new OutputStreamWriter(os2,"utf-16");//使用UTF-16写入
BufferedWriter bw2 = new BufferedWriter(osw2);
bw2.write(def);
bw.close();
bw2.close();
结果E:\\format.msg 文件中的内容会被后来写入的覆盖。
请问有没有办法是在原来文件的内容上增加,而不是覆盖呢?
多谢!
---------------
我自己后来是这样解决的:
String message1="This is what I want to write!";
String message2="I'm a piggy!";
String message3="I'm a puppy.";
OutputStream os;
File f =new File(D:\\test.txt); //创建要写入的文件
os =new FileOutputStream(D:\\test.txt); //
os.write(message1);
os.write(message2);
os.write(message3); 展开
String def="222";
OutputStream os=new FileOutputStream("E:\\format.msg");//需要写入的文件
OutputStreamWriter osw =new OutputStreamWriter(os,"ASCII");//使用ASCII编码写入
BufferedWriter bw = new BufferedWriter(osw);
bw.write(abc);
OutputStream os2=new FileOutputStream("E:\\format.msg");
OutputStreamWriter osw2 =new OutputStreamWriter(os2,"utf-16");//使用UTF-16写入
BufferedWriter bw2 = new BufferedWriter(osw2);
bw2.write(def);
bw.close();
bw2.close();
结果E:\\format.msg 文件中的内容会被后来写入的覆盖。
请问有没有办法是在原来文件的内容上增加,而不是覆盖呢?
多谢!
---------------
我自己后来是这样解决的:
String message1="This is what I want to write!";
String message2="I'm a piggy!";
String message3="I'm a puppy.";
OutputStream os;
File f =new File(D:\\test.txt); //创建要写入的文件
os =new FileOutputStream(D:\\test.txt); //
os.write(message1);
os.write(message2);
os.write(message3); 展开
1个回答
展开全部
只能覆盖的吧,如果要实现增加,就先把原来的内容读进来,再一起写出去
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询