读取一个txt文件,想实现读完一行就把该行删除的功能,希望各位高人能指点一下

解决方案 »

  1.   

    http://www.j2ee.me/javase/6/docs/api/java/io/File.html上面地址是jdk6中java.io.File的api, 没有你要的这个功能相关的接口.
    读过一行删除一行, 为什么要这样??不能在把要读的都读过之后, 把所有读了的都删除吗?
      

  2.   

    用RandomAccessFile类去访问这个文件就好了 读之前保存一个指针  读之后再保存一个指针
      

  3.   

    import java.io.*;
    public class FileEncode { public static void main(String[] args) {
    RandomAccessFile raf=null;
    try {
    raf=new RandomAccessFile("f:\\aa.txt","rw");
    String temp;
    while((temp=raf.readLine())!=null){
    System.out.println(temp);
    raf.seek(raf.getFilePointer()-temp.getBytes().length-2);
    for(int i=0;i<temp.getBytes().length+2;i++){
    raf.write(0);
    }
    }
    } catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }finally{
    if(raf!=null)
    try {
    raf.close();
    } catch (IOException e) {

    }
    }
    }}
    可能不太好,但测试了一下,应该满足楼主的要求了
      

  4.   

    不能删除文件中的内容的你如果要读一行删除一行,事实上是读取了一行以后,然后将后面所有内容重新写一次,然后setLength减少了文件的长度的做法 因为API里面没有删除文件中一部分内容的方法
      

  5.   

    除非是最后的数据,不能单删除中间一部分,只能重写数据库在删除条目时遇到这种情况,也只是把中间标记为delete而真的处理。