把API的IO部分看了半天,读写很好实现,但要在文件中插入、删除记录,怎么操作啊?
急啊,各位大侠,帮帮忙,谢谢啦!

解决方案 »

  1.   

    1 生成临时文件
    2 读源文件
    3 写临时文件(遇到要删除的记录则不写临时文件,遇到要追加的记录,额外写临时文件)
    4 循环读源文件,直至源文件eof
    5 删除源文件
    6 重命名临时文件
      

  2.   

    RE qybao(阿宝) :
    只能这么操作么?好麻烦喔!
      

  3.   

    刪除記錄的!
    /*
     * Del_FileContent.java
     *
     * Created on 2005年8月19日, 上午 1:46
     */package untils;/**
     *
     * @author tao
     */
    public class Del_FileContent {
        java.io.OutputStream fout=null;
        
        /** Creates a new instance of Del_FileContent */
        public Del_FileContent() {
        }
        public void Del_FileContent(String stri){
            try{
                java.io.File f=new java.io.File("file.txt");
                java.io.BufferedInputStream bin=new java.io.BufferedInputStream(new java.io.FileInputStream(f));
                byte[] buff=new byte[((int)f.length())];
                bin.read(buff);
                String str=new String(buff,"utf-8");
                String [] all=str.split("\r\n");
                int i=0;
                fout=new java.io.FileOutputStream(f);
                
                while(i<all.length){
                    System.out.println(all[i]);
                    all[i] = all[i].replaceAll(stri,"");
                    fout.write((all[i]+"\r\n").getBytes("utf-8"));               
                    i++;
                }
                 fout.flush();
                 fout.close();
                 bin.close();
                 
            }catch(Exception er){}    
        }
        public static void main(String[] args){
            Del_FileContent aa = new Del_FileContent();
            aa.Del_FileContent("sw");
        }
    }不知道有沒有別的API
      

  4.   

    个人感觉上位仁兄的方法还可以,基本都是走这条路子,在文件流中Replace掉