答复問題1:
   fr.read(char[],int,int);
这里的read函数是将文本里从第一个int开始到第二个int结束的内容读到数组char[]中。答复問題2:
   用str.toCharArray();可以变成char[]。答复問題3:
   这里给你提供一个方法:
     读取文本后再往文本文件里写。当读出文本文件的某行后,如果满足你删除的条件,然后就写入空行就行了。

解决方案 »

  1.   

    回答一个最简单的,问题2
    String ss="xxxxx";
    char [] cc = new char[ss.length];
    cc = ss.toCharArray();
      

  2.   

    代碼:
     try{
           FileWriter fw = new FileWriter("backup.txt",true);
          BufferedWriter bw = new BufferedWriter(fw);
          FileReader fr=new FileReader("BookInfor.txt");
          BufferedReader br=new BufferedReader(fr);
          String record;
          while ((record = br.readLine()) != null) {
           char[] s=new char[1];
           fr.read(s,0,1);
           //String ss=s.toString();
           System.out.println(record);
           System.out.println(s);
           if(s.equals("b")){
          bw.write(record);
          System.out.println("ok");
          }
        }
          bw.close();
          br.close();
          fw.close();
          fr.close();
       }catch (Exception ex) {
         System.out.println("IOException error!");
         }
    BookInfor中内容如下:
    b
    b
    顯示的結果:(沒有ok,那裏的問題??)
    bb
      

  3.   

    前两个问题有人答了,我写第三个。
    假设为删除有"string"的行
    import java.io.*;public class ReadFileTest
    {
        public static void main(String[] args)
        {
            //读入
            try{
            BufferedReader br = new BufferedReader(new FileReader("t.txt"));
            String line;
            StringBuffer buffer=new StringBuffer();
            while((line=br.readLine())!= null)
            {
                if(line.indexOf("string")==-1)
                {
                    buffer.append(line);
                    buffer.append("\r\n");
                }
            }
            br.close();
            //写文件
            PrintWriter out=new PrintWriter(new FileWriter("t.txt"));
            out.println(new String(buffer));
            out.close();
            //回显屏幕
            BufferedReader in=new BufferedReader(new FileReader("t.txt"));               
            while((line=in.readLine())!=null)
            {
                System.out.println(line);
            }
            in.close();
            }
            catch(Exception ex){ System.out.println("IOException error!");}
       }
    }
                
      

  4.   

    if(line.indexOf("string")==-1)
                {
                    buffer.append(line);
                    buffer.append("\r\n");
                }
            
    能解釋一下嗎?
      

  5.   

    if(line.indexOf("string")==-1)//如果在line中不含"string"
    {
         buffer.append(line);//把这一行加入buffer
         buffer.append("\r\n");//在加入换行
    }
    这样,buffer不就是删除了由特定要求的行了么
    然后在把buffer写入文件,就达到题目要求了
            
      

  6.   

    謝謝你:)
    以後還請多多關照:)
    你有api的中文介紹嗎?
      

  7.   

    中文的api我也没有
    如果兩行中不同列有同樣的信息,怎樣解決只刪一個的問題呢?
    我是这么想的,把读出来的line方到string[]中,然后比较,如果新的line和string[]中的一样,就删除这一行。不过不一样就把新的line也放到string[]中。
    “現在該行可以刪除,但是在所有信息後插入了空行“
    这句不太明白