java文本的修改,或替换 能不能在文本record.txt中修改里边的内容例如:abcde@123@,我只要修改两个@里边的内容,替换也可以 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 先读出来(InputStream)修改String str=str.replaceAll("@","");存入(OutputStram) 哦。里边的内容。String str = "abcde@123@@@"; if(str.matches(".*@(.*)?@.*")){ str=str.replaceAll("@.*?@", "@__@"); }System.out.println(str); 上面的大神,能写得详细点吗?我刚学java不久,菜鸟中的菜鸟! String s=null;File fileseg=new File("你的目录");File fileres=new File("你的输出目录");BufferedReader readerseg=new BufferedReader(new FileReader(fileseg));PrintStream ps=new PrintStream(new FileOutputStream(fileres));while((s=readerseg.readLine())!=null){s=s.replaceAll("@","");ps.print(s);} 怎么把原有的给替换掉呢?我想把abcde@123@换成abcde@456@,写到同一文件中 楼主你先看看是不是你要的,在说哪个技术方面有问题,写清楚一点,是要直接的文本替换,用记事本自带的功能就可以了ctr+f,还是用程序实现,直接程序在文本中替换?我的意思是先用inputStream先读出来,判断,有没有要替换的内容,然后替换,替换完了,最后一起放回去(OutputStream),就实现了替换功能了。 我的意思是想用代码,从txt文档中,截取一段数据,然后修改,或替换,再重新写到原来的那个文档中,例如:有一txt文件,text.txt,里面的内容是:abcd@123,我想改成abcd@456,再写回text.txt文件中 public class DataInputAndOutput { public static void main(String[] args){ try { //写入不要用就注释掉 FileWriter fw = new FileWriter("test.txt"); PrintWriter out = new PrintWriter(new BufferedWriter(fw)); out.write("abcde@123@\n"); out.write("ab@@asdf\n"); out.write("ab@@@we\n"); out.write("ab@@@@asdf\n"); out.flush(); out.close(); //读取 BufferedReader br = new BufferedReader(new FileReader(new File("test.txt"))); StringBuffer sb = new StringBuffer(); String str = null; while((str=br.readLine()) != null){ if(str.matches(".*@(.*)?@.*")){ str=str.replaceAll("@.*?@", "@__@"); } System.out.println(str); sb.append(str+"\n"); } sb.setLength(sb.length()-1); br.close(); //写入 out = new PrintWriter(new BufferedWriter(new FileWriter("test.txt"))); out.write(sb.toString()); out.flush(); out.close(); }catch(FileNotFoundException e){ System.out.println("bcd"); } catch (IOException e) { e.printStackTrace(); } }} public class DataInputAndOutput { public static void main(String[] args){ try { //写入不要用就注释掉 FileWriter fw = new FileWriter("E:/test.txt"); PrintWriter out = new PrintWriter(new BufferedWriter(fw)); out.write("abcde@123@\n");//建好一个输出流,把下面3句话输出到一个地址E:/test.txt的文件中 out.write("ab@@asdf\n"); out.write("ab@@@we\n"); out.write("ab@@@@asdf\n"); out.flush();//清楚缓存 out.close();//关闭数据流 //读取 BufferedReader br = new BufferedReader(new FileReader(new File("test.txt"))); StringBuffer sb = new StringBuffer(); String str = null; while((str=br.readLine()) != null){//一行一行读,如果不为空,继续运行 if(str.matches(".*@(.*)?@.*")){//正则表达 str=str.replaceAll("@.*?@", "@__@");//找到两个@ @就把之间的内容替换掉 } System.out.println(str); sb.append(str+"\n"); } sb.setLength(sb.length()-1);//因为多加了一个换行符,所以截掉 br.close();//关闭输入流 //写入 out = new PrintWriter(new BufferedWriter(new FileWriter("E:test.txt"))); out.write(sb.toString());//把sb里面的内容读入E:test.txt中 out.flush(); out.close(); }catch(FileNotFoundException e){ System.out.println("文件未找到"); } catch (IOException e) { e.printStackTrace(); } }}//这是自动生成文件,楼主可以自己写个E:test.txt文件,把信息填入,然后把一段注释掉。从try下面注释开始到out.close()。全部注释掉 太感谢楼上的大神牛人了,要慢慢消化才行!我是菜鸟,有点拿来意义了!谢谢!我原来是做个ATM项目,但数据文件只能从TXT文件中截取,所以才要用到这个知识点,非常感谢大家! 具体要怎么做呢,我要把下面中的其中一行内$$之间改掉,其它的不变,可以实现吗?aaaaaa#111#$500$bbbbbb#222#$500$ 关于锁的问题。。。 图形界面遇到的问题在点击修改时出现了一点小问题 怀疑java.util.Date这个类有问题!! JPanel和Container的区别? JAVA 关于thread的问题!!!我是菜鸟 一个小问题问了很多次了(累计到220分了),请高手们指点 为什么 java.lang.OutOfMemoryError 关于Java核心编程中的一个例子----设置JPanel的背景色 如何将String类型的二维数组转化为float类型的二维数组 求教哪里有Java练习的题目? 小白求教!!java弹球问题。为什么重新开始后键盘监听不响应?? java中时间奇怪的问题,急。。。。
修改String str=str.replaceAll("@","");
存入(OutputStram)
String str = "abcde@123@@@";
if(str.matches(".*@(.*)?@.*")){
str=str.replaceAll("@.*?@", "@__@");
}
System.out.println(str);
String s=null;
File fileseg=new File("你的目录");
File fileres=new File("你的输出目录");
BufferedReader readerseg=new BufferedReader(new FileReader(fileseg));
PrintStream ps=new PrintStream(new FileOutputStream(fileres));
while((s=readerseg.readLine())!=null){
s=s.replaceAll("@","");
ps.print(s);
}
例如:有一txt文件,text.txt,里面的内容是:abcd@123,我想改成abcd@456,再写回text.txt文件中
public class DataInputAndOutput { public static void main(String[] args){
try {
//写入不要用就注释掉
FileWriter fw = new FileWriter("test.txt");
PrintWriter out = new PrintWriter(new BufferedWriter(fw));
out.write("abcde@123@\n");
out.write("ab@@asdf\n");
out.write("ab@@@we\n");
out.write("ab@@@@asdf\n");
out.flush();
out.close();
//读取
BufferedReader br = new BufferedReader(new FileReader(new File("test.txt")));
StringBuffer sb = new StringBuffer();
String str = null;
while((str=br.readLine()) != null){
if(str.matches(".*@(.*)?@.*")){
str=str.replaceAll("@.*?@", "@__@"); }
System.out.println(str);
sb.append(str+"\n");
}
sb.setLength(sb.length()-1);
br.close();
//写入
out = new PrintWriter(new BufferedWriter(new FileWriter("test.txt")));
out.write(sb.toString());
out.flush();
out.close();
}catch(FileNotFoundException e){
System.out.println("bcd");
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class DataInputAndOutput { public static void main(String[] args){
try {
//写入不要用就注释掉
FileWriter fw = new FileWriter("E:/test.txt");
PrintWriter out = new PrintWriter(new BufferedWriter(fw));
out.write("abcde@123@\n");//建好一个输出流,把下面3句话输出到一个地址E:/test.txt的文件中
out.write("ab@@asdf\n");
out.write("ab@@@we\n");
out.write("ab@@@@asdf\n");
out.flush();//清楚缓存
out.close();//关闭数据流
//读取
BufferedReader br = new BufferedReader(new FileReader(new File("test.txt")));
StringBuffer sb = new StringBuffer();
String str = null;
while((str=br.readLine()) != null){//一行一行读,如果不为空,继续运行
if(str.matches(".*@(.*)?@.*")){//正则表达
str=str.replaceAll("@.*?@", "@__@");//找到两个@ @就把之间的内容替换掉 }
System.out.println(str);
sb.append(str+"\n");
}
sb.setLength(sb.length()-1);//因为多加了一个换行符,所以截掉
br.close();//关闭输入流
//写入
out = new PrintWriter(new BufferedWriter(new FileWriter("E:test.txt")));
out.write(sb.toString());//把sb里面的内容读入E:test.txt中
out.flush();
out.close();
}catch(FileNotFoundException e){
System.out.println("文件未找到");
} catch (IOException e) {
e.printStackTrace();
}
}
}
//这是自动生成文件,楼主可以自己写个E:test.txt文件,把信息填入,然后把一段注释掉。
从try下面注释开始到out.close()。全部注释掉
我原来是做个ATM项目,但数据文件只能从TXT文件中截取,所以才要用到这个知识点,非常感谢大家!
aaaaaa#111#$500$
bbbbbb#222#$500$