比如文件中有个</tabs>,把它替换成别的内容 或者 在他上面加上内容应该怎么写?谢谢 

解决方案 »

  1.   

    如果是一次性的,那么拿到linux下用sed指令处理一下就好。
      

  2.   

    public class TestForEach { /**
     * @param args
     */
    public static void main(String[] args) {
    String str = "safsdfdsf<<fsdjka>>fd</tabs>asdllofj,mkdsffsdfsdaff</tabs>sadfs</tabs>";
    System.out.println(str.replaceAll("</tabs>", "替换的内容"));

    }
    }
      

  3.   

    是有一个还是很多个?如果都要换的话直接把文件中的内容读出来,放进一个字符串,再replaceAll,最后再写进文件,如果是只换其中特定一个不换别的,就用substring以及indexOf先定位,再replace,最后还是再写进文件
      

  4.   

    读取文件用Bufferedreader,inputstreamreader,filereader 自由发挥吧
      

  5.   

    看这个</tab>怎么感觉像xml
    xml的话应该是利用dom4j这个包
      

  6.   

    对于文件应该没有提供直接替换什么的API,楼主你还是一点
    一点来吧,不要嫌麻烦,先读取修改再读入
      

  7.   

    import java.io.*;public class TestReplaceFile { /**
     * @param args
     * @author 左灯右行。
     * @serialData
     */
    public static void main(String[] args) throws IOException{

    //读源文件
    File f = new File("c:\\src.txt");
    FileReader fr = new FileReader(f);
    BufferedReader bfr = new BufferedReader(fr);

    //写出文件
    File f1 = new File("c:\\result.txt");
    if(!f1.exists()){
    f1.createNewFile();
    }

    FileWriter fw = new FileWriter(f1);
    BufferedWriter bfw = new BufferedWriter(fw);

    String str = "";
    String temp = "";

    //读一行,写一行;
    while( (str = bfr.readLine()) != null) {
    temp = str.replaceAll("</tabs>", "*");
    bfw.write(temp);
    bfw.newLine();
    }

    //关闭流
    bfw.close();
    fw.close();

    bfr.close();
    fr.close();
    }
    }
      

  8.   

    对于内容比较大的文件来说,应该使用多线程就行。此段代码while 循环处应该以 1024kb 作为一批进行读写。有待改进。含有"</tabs>"关键字的文本保存至c:\src.txt(可更改) 程序自动将其替换成 "*"(可更改)结果c:\result.txt Over!
      

  9.   

    话说这样很痛苦 敢问这个</tab>是XML么 
    是的话就利用DOM4J这个包吧
      

  10.   

    我也写了一个,先在d盘下新建一个文件test.txt,假设内容为<family>
      <people>
         <sex>aa</sex>
      </people>
      <tabs>bb</tabs>
      <tabs>cc</tabs>
    </family>完后写程序import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStreamReader;public class Replace {
    public static void main(String args[]){
    BufferedReader br;
    try {
    br = new BufferedReader(new InputStreamReader(new FileInputStream("D://test.txt")));
    StringBuffer sb = new StringBuffer();
    String str = null;
    while((str = br.readLine())!= null)
    sb.append(str);
    FileOutputStream file = new FileOutputStream("D://test.txt");
            file.write(sb.toString().replaceAll("</tabs>","</tests>").getBytes());
            br.close();
            file.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }
    这样就会把test.txt中的</tabs>替换成别的了(我这里假设替换为</test>),始终在一个文件上操作,没有生成新文件
      

  11.   

    为了保证程序格式不变,稍微改下,加个"\r\n"import java.io.BufferedReader;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStreamReader;public class Replace {
    public static void main(String args[]){
    BufferedReader br;
    try {
    br = new BufferedReader(new InputStreamReader(new FileInputStream("D://test.txt")));
    StringBuffer sb = new StringBuffer();
    String str = null;
    while((str = br.readLine())!= null)
    sb.append(str + "\r\n");
    FileOutputStream file = new FileOutputStream("D://test.txt");
            file.write(sb.toString().replaceAll("</tabs>","</tests>").getBytes());
            br.close();
            file.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }