如何利用JAVA代码实现文件中某一行中某一段字符串的修改?

假如文件内容如下:
baidu zhidao tiwen
java abcd badc
要想将zhidao改成answer,应该怎样操作,用java

我首先说下思路吧,你想更改文件中的字符串,首先你要使用java中的io把文件里面的内容全部读到一个字符串当中,然后对这个字符串进行查找替换的操作,最后在把你更改之后的这个字符串写进文件当中,当然是覆盖掉这个文件。
这里我就用到FileOutputStream FileInputStream BufferedReader PrintWriter
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

public class Test {

public static void main(String[] args) {
try {
File file = new File("c:\\abc.txt");
// 建立一个file对象,参数就是你想访问文件的路径,这里我就不验证文件是否存在了
// 查下api即可
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file)));
List list =new ArrayList();
//定义一个集合存放每一行的字符串
while(true){
String str=br.readLine();
//读取文件当中的一行
if(str==null) break;
//如果读取的是空,也就是文件读取结束 跳出循环
int index=str.indexOf("zhidao");
//看此行的是否包含zhidao
if(index!=-1){
str.replace("zhidao", "answer");
//如果包含就把zhidao 换成answer
}
list.add(str);
//把修改之后的str放到集合当中

}
br.close();

PrintWriter pw=new PrintWriter(file);
//建立一个输出流,把东西写入文件
for(int i=0;i<list.size();i++){
String str =(String)list.get(i);
//从集合当中取出字符串
pw.println(str);
//把该字符串写入文件当中
}
pw.close();
} catch (Exception e) {
e.printStackTrace();
}
}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-21
可以利用正则表达式匹配出你需要修改的字符串然后替换的方式修改,或者你已经知道需要修改的字符串直接用替换的方式替换掉就可以了。
第2个回答  2011-05-17
不知道你什么意思,可以使用
String str=file.readline();//readline()你就可以自己控制了
str.replace("想换的","新换的样子");
如果把问题描述清楚会更好回答追问

假如文件内容如下:
baidu zhidao tiwen
java abcd badc
要想将zhidao改成answer,应该怎样操作,用java

第3个回答  2015-05-19
这种情况,要么将文件一行一行读取出来,再一行一行存回去,读到你要修改的“某一行中某一段字符串”的时候,使用if来进行修改就行。
参考资料:http://zhidao.baidu.com/link?url=pIvK7GNiKRkwjYZJdfEFv6VHjR6Vnm0lgDVYyoVjUo3xWj_57e_Yobqal3a7YtFd0RLlyi_R-DGhqWV5NVHuha

如何利用JAVA代码实现文件中某一行中某一段字符串的修改?
import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;public class Test { public static void main(String[] args) { try { File file = new File("c:\\\\abc.txt");\/\/ 建立一个file对象,参数就是你想访问文件的路径,这里我就不验证文件是否存在了 \/\/ 查下api即可...

在java中如何修改文本文件中的某一行的某些数据??
你可以先定义一个InputStreamReader读取文本文件内容,然后再用一个LineNumberReader获取刚才InputStreamReader的对象,LineNumberReader里有个方法readLine()是用来一行一行的顺序读取字符,然后用一个判断语句来判断你想修改的行,最后删除或修改就可以了

怎样改变一个字符串其中某个位置的值
在Java编程中,若需改变一个字符串中特定位置的字符,通常采用substring()和replace()方法的结合使用。例如,若要改变字符串str第一位字符,可以利用str.substring(0,1)来获取第一位字符,通过下标控制截取长度,从而获得精确的字符串片段。接着,使用replace()方法替换指定位置的字符。例如,假设我们有一...

Java中怎样找到文件中指定字符串并替换
1.定义一个类文件StringReplace.java 2.类内容如下:public class StringReplace { public static void main(String[] args){ String info = "百d度,经3验,欢迎H你";info = info.replace(',',':');\/\/将字符串,替换成":"System.out.println(info);\/\/替换后输出 info=info.replace("欢迎"...

求使用JAVA 编程 使用File类列出指定文件夹中文件名包含某个指定字符串...
public static void main(String[] args) throws InterruptedException { \/\/ 指定文件夹 File file = new File("D:\\\\downloads\\\\");List<File> fileList = null;\/\/ 包含字符 String filter = "j";if (file != null) { if (file.isDirectory()) { File[] fileArray = file.listFiles()...

java中RandomAccessFile如何删除txt文件的某一行的信息和修改某一行...
可以用字符串数组来保存每一行的值,删除了之后,再重新保存进去。可以这样做:比如说你的文件路径:c:\/a.txt 1.File file = new File("c:\/a.txt");2.BufferedReader reader = new BufferedReader(file);3.byte[] strValue = new byte[(int)file.length()];4.String str = reader.read(...

如何在java中实现字符串的部分替换?
其中,oldChar表示需要替换的字符串;newChar表示用于替换的字符串。replace()方法会将字符串中所有oldChar替换成newChar。例如,创建一个字符串并使用replace()方法进行替换操作,代码如下:java String str = "Hello, World!";String newStr = str.replace('o','a');System.out.println(newStr);...

java 如何向txt文件中的某一行继续写入
打开一个已存在的txt文件,每一行是一条记录。想对已知的某一行进行追加写入,如,在第五行继续写入一个字符串,有什么思路?最好有具体的代码例子。匿名 | 浏览3841 次 |举报 我有更好的答案推荐于2016-01-16 22:52:33 最佳答案 Java的RandomAccessFile提供对文件的读写功能,与普通的输入输出流不一样的是Ramd...

编写java,该程序实现打开一个文本文件,每次读取一行内容,将每行作为一...
File filePath = new File("D:\\\\AB.txt");BufferedReader br=new BufferedReader(new FileReader(filePath));while ((String s = br.readLine()) != null) { System.out.println(s + "\\r\\n");} \/\/\/主要的代码应该差不多,你自己再修改一下就OK了......

java怎么替换字符串某个字符
求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。以上内容参考:百度百科-字符串 ...

相似回答