A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张卫刚 中级黑马   /  2013-3-23 17:36  /  1518 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张卫刚 于 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-24 07:50

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

7 个回复

倒序浏览
  1. fw.write("\r\n");
  2. for(int x=1; x<5; x++)        
  3.                 {
  4.                 bufw.write("abcd"+x);
  5.                 bufw.newLine();               
  6.                 bufw.flush();               
  7.                 }
复制代码
先续写一个回车符

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
fw.write("\r\n");这样写不跨平台,我想过定义一个boolean标记可以,但感觉不完善,判断x是第一次的也不爽,谁有好的想法交流下啊
回复 使用道具 举报
可以用System.getProperty("line.separator")进行替换,这个是可以跨平台的换行符,可以试一下

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
abcdeabcd1
abcd2
abcd3
abcd4
那么要怎么样控制让续写不要加在我原有内容的那一行呢?就是成这样的结果
abcde
abcd1
abcd2
abcd3
abcd4
看明白在答,随便要个换行我就不用提问了
回复 使用道具 举报
  1. for(int x=1; x<5; x++)        
  2.       {         
  3.                  bufw.newLine();        // 不管源文件有什么,我都在新的一行里续写
  4.                  bufw.write("abcd"+x);
  5.                  bufw.flush();      
  6.        }
  7. bufw.newLine();         
  8. bufw.close();   //这一步同样会刷新
复制代码
唉,兄弟啊,.....{:soso_e130:}  加油 。。。

活用一下bufw.newLine() 呀,这个可是跨平台的哟,先用它来个跨平台的换行,无论你要续写的内容有什么,我都重新开始在新的一行里,写的内容别担心最后一个刷不出来,循环外我再换行,关闭前会刷新吧

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
杨玉辉 发表于 2013-3-24 11:46
唉,兄弟啊,.....  加油 。。。

活用一下bufw.newLine() 呀,这个可是跨平台的哟,先用它来 ...
  1. bufw.newLine();
  2. for(int x=1; x<5; x++)        
  3.                 {
  4.                  bufw.write("abcd"+x);
  5.                  bufw.newLine();               
  6.                 bufw.flush();               
  7.                 }
复制代码
换换代码好了
回复 使用道具 举报
你是不是要在已有的文件里追加写入数据?
FileWriter有个构造函数,用于追加写入:FileWriter(String fileName, boolean append)

看看我的示例代码:
  1. import java.io.BufferedWriter;
  2. import java.io.FileWriter;
  3. import java.io.IOException;
  4. import java.util.Date;

  5. public class FileWriterDemo
  6. {
  7.         public static void main(String[] args) throws IOException
  8.         {
  9.                 //定义文件写入流对象,此对象将可在已存在的文件之后追加写入
  10.                 FileWriter fw = new FileWriter("D:\\test.txt", true);
  11.                 //定义缓冲写入流对象
  12.                 BufferedWriter bw = new BufferedWriter(fw);
  13.                
  14.                 //在程序每次写入前,先加上个时间记录
  15.                 bw.write("----" + new Date() + "----");
  16.                 bw.newLine();
  17.                 bw.flush();
  18.                
  19.                 for(int x=0; x<3; x++)
  20.                 {
  21.                         bw.write("abcd" + x);
  22.                         bw.newLine();
  23.                         bw.flush();
  24.                 }
  25.                 bw.close();
  26.         }
  27. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马