文件打开与删除的问题,请帮忙~谢谢

堕落天空 2005-11-15 04:06:18
我自己写了个小程序可是运行总是有问题,请各位高手帮忙指点一下~~
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class test1 {

public test1() {
super();}
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new FileReader("d:\\111.txt"));
String s1;
while ((s1=in.readLine())!=null)
{
System.out.println(s1);
if (s1.substring(32,41).equals(" "))
{
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out")));
System.out.println("111111"+s1);
out1.write("111"+s1);
out1.close();
}
}

}

}
我就是想将第一个文件的内容读出来然后将符合条件的内容放到第二个文件里,可是总是只能得到最后一行的数据,前面的都没有了,我用append,write试过了也不行。
再就是我如何才能删掉文件中的一行数据???
分不多,望各位不嫌弃~:)
...全文
111 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
堕落天空 2005-11-16
  • 打赏
  • 举报
回复
呵呵,ok了~我忘记删掉原文件了~,谢谢各位,我结贴了~~
堕落天空 2005-11-16
  • 打赏
  • 举报
回复
我试了一下改文件名不行,不知道为啥,给我返回个false...
File source = new File("d:\\222.txt");
File targer = new File("d:\\111.txt");
System.out.println(source.renameTo(targer));
请各位给看一下~:)
堕落天空 2005-11-16
  • 打赏
  • 举报
回复
谢谢楼上的各位~
如何删除原文件?楼上说的renameTo("sourcename")是哪个包里的..我咋没见过。。。
believefym 2005-11-15
  • 打赏
  • 举报
回复
不过我怎么去将那个新的文件命名成和原来一样的呢??
-------------
先删除原文件,再把需要改名的文件进行改名renameTo("sourcename")
myhotsun 2005-11-15
  • 打赏
  • 举报
回复
楼上的正解
Mervyn 2005-11-15
  • 打赏
  • 举报
回复
应该把它PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out")));
拿到while循环的外面
你这样每条数据都重新打开那个文件,往里写数据是从文件头写的所以你只能得到最后一行数据,
堕落天空 2005-11-15
  • 打赏
  • 举报
回复
恩,我去试试看~
不过我怎么去将那个新的文件命名成和原来一样的呢??
realdevil 2005-11-15
  • 打赏
  • 举报
回复
1、应该用追加的方式写到目标文件中去
PrintWriter out1 = new PrintWriter(new BufferedWriter(new FileWriter("d:\\err.out"),true));
2、不能单独删除一个行。需要全部读出来后,删除其中的一个行再重新写进去。

62,629

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧