黑马程序员技术交流社区
标题:
一个流的问题
[打印本页]
作者:
张卫刚
时间:
2013-3-23 17:36
标题:
一个流的问题
本帖最后由 张卫刚 于 2013-3-25 21:14 编辑
这是我的txt文件内容 abcde
for(int x=1; x<5; x++)
{
bufw.write("abcd"+x);
bufw.newLine();
bufw.flush();
}
abcdeabcd1
abcd2
abcd3
abcd4
那么要怎么样控制让续写不要加在我原有内容的那一行呢?就是成这样的结果
abcde
abcd1
abcd2
abcd3
abcd4
总不能我先读文件去判断吧那不是太麻烦了
作者:
孙娜
时间:
2013-3-23 18:10
fw.write("\r\n");
for(int x=1; x<5; x++)
{
bufw.write("abcd"+x);
bufw.newLine();
bufw.flush();
}
复制代码
先续写一个回车符
作者:
张卫刚
时间:
2013-3-23 19:50
fw.write("\r\n");这样写不跨平台,我想过定义一个boolean标记可以,但感觉不完善,判断x是第一次的也不爽,谁有好的想法交流下啊
作者:
胡国彬
时间:
2013-3-23 20:13
可以用System.getProperty("line.separator")进行替换,这个是可以跨平台的换行符,可以试一下
作者:
张卫刚
时间:
2013-3-24 09:20
abcdeabcd1
abcd2
abcd3
abcd4
那么要怎么样控制让续写不要加在我原有内容的那一行呢?就是成这样的结果
abcde
abcd1
abcd2
abcd3
abcd4
看明白在答,随便要个换行我就不用提问了
作者:
杨玉辉
时间:
2013-3-24 11:46
for(int x=1; x<5; x++)
{
bufw.newLine(); // 不管源文件有什么,我都在新的一行里续写
bufw.write("abcd"+x);
bufw.flush();
}
bufw.newLine();
bufw.close(); //这一步同样会刷新
复制代码
唉,兄弟啊,.....{:soso_e130:} 加油 。。。
活用一下bufw.newLine() 呀,这个可是跨平台的哟,先用它来个跨平台的换行,无论你要续写的内容有什么,我都重新开始在新的一行里,写的内容别担心最后一个刷不出来,循环外我再换行,关闭前会刷新吧
作者:
杨玉辉
时间:
2013-3-24 12:17
杨玉辉 发表于 2013-3-24 11:46
唉,兄弟啊,..... 加油 。。。
活用一下bufw.newLine() 呀,这个可是跨平台的哟,先用它来 ...
bufw.newLine();
for(int x=1; x<5; x++)
{
bufw.write("abcd"+x);
bufw.newLine();
bufw.flush();
}
复制代码
换换代码好了
作者:
刘焕新
时间:
2013-3-25 20:01
你是不是要在已有的文件里追加写入数据?
FileWriter有个构造函数,用于追加写入:
FileWriter(String fileName, boolean append)
看看我的示例代码:
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Date;
public class FileWriterDemo
{
public static void main(String[] args) throws IOException
{
//定义文件写入流对象,此对象将可在已存在的文件之后追加写入
FileWriter fw = new FileWriter("D:\\test.txt", true);
//定义缓冲写入流对象
BufferedWriter bw = new BufferedWriter(fw);
//在程序每次写入前,先加上个时间记录
bw.write("----" + new Date() + "----");
bw.newLine();
bw.flush();
for(int x=0; x<3; x++)
{
bw.write("abcd" + x);
bw.newLine();
bw.flush();
}
bw.close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2