怎样替换一个文本文件中的部分内容?怎样在文本文件中查出一段文字的位置?

katecao 2005-01-07 10:12:36
我想在example.txt文件中找到“[domain1]”这个字符串,并用“[domain1]加换行加[User1=xbh]”来代替,怎样实现?
其实就是在找到“[domain1]”后,在后面换行再加“[User1=xbh]”。
顺便问一下,要是直接定位“[domain1]”这个字符串,需要怎么做?
...全文
339 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
katecao 2005-01-27
  • 打赏
  • 举报
回复
这个问题我已经解决了,有关注的,我写一下解决方法。
protected String fileName;
private static String filename= "d:\\project\\ServUDaemon.ini ";
static File aFile = new File(filename);
private static Vector;
void jButton1_actionPerformed(ActionEvent e) {
PrintWriter out = null;
BufferedReader in = null;
try{
in =new BufferedReader(new FileReader(aFile));
}catch (Exception exx{
exx.printStackTrace(System.out);
}
    vec=new Vector();
try{
String s = in.readLine();
String original ="\\[Domain1\\] "; //被替换的文字
   String temp="bbbbbbbb";
String replacestr = original +replacestring ; //待替换文字
File file=new File(filename); //开始在文件末尾加入内容
BufferedWriter out1=new BufferedWriter(new FileWriter(file,true));
String appendstr="aaaaaaa ";
out1.write(String.valueOf(appendstr));
out1.close();
out1=null;
file=null;              //在文件末尾加入内容结束
while(s!=null){ //开始查找并替换内容
  s=s.replaceAll(original,temp);
s=s.replaceAll(temp,replacestr);
  vec.add(s);
  s=in.readLine();
 }
  in.close();
  try {
out=new PrintWriter(new FileWriter(aFile,false));
} catch (IOException ex) {
}
for (int i=0;i<vec.size();i++){
out.println((String)vec.get(i));
System.out.println((String)vec.get(i));
}
out.close();
 }catch (IOException ex1) {
  }
}

这里有个问题:当while循环执行的时候,由于我待替换的字符串包含了待替换的字符串,那么它就不断不断地用待替换的字符串来替换新写入的“[Domain1]”,变成死循环,只能设一个临时的字符串,让临时字符串先替换“[Domain1]”,再把需要写入的待替换的文字把临时字符串tempf替换掉,就避免了死循环。
oasisbai 2005-01-25
  • 打赏
  • 举报
回复
我也是新手,学习中...
xjbs 2005-01-25
  • 打赏
  • 举报
回复
study
katecao 2005-01-25
  • 打赏
  • 举报
回复
ding!
lecy 2005-01-07
  • 打赏
  • 举报
回复
jdk1.5的正则表达式也可以
bboonnee 2005-01-07
  • 打赏
  • 举报
回复
s.replaceAll("domain1","XXX");
takecare 2005-01-07
  • 打赏
  • 举报
回复
读入内容,专成StringBuffer,定位indexOf,提换replace
bboonnee 2005-01-07
  • 打赏
  • 举报
回复
filestream读进来为String
然后查找替换“[domain1]”为你所要替换的[User1=xbh]”,然后再输出保存example.txt就可以了啊
katecao 2005-01-07
  • 打赏
  • 举报
回复
各位大侠,我是菜鸟,IO这部分我还不得要领呢,能请各位写详细些吗?
在此谢过了!

62,614

社区成员

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

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