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

假如文件内容如下:baiduzhidaotiwenjavaabcdbadc要想将zhidao改成answer,应该怎样操作,用java... 假如文件内容如下:
baidu zhidao tiwen
java abcd badc
要想将zhidao改成answer,应该怎样操作,用java
展开
 我来答
hly3825
推荐于2018-03-01 · 超过16用户采纳过TA的回答
知道答主
回答量:34
采纳率:0%
帮助的人:43.7万
展开全部
我首先说下思路吧,你想更改文件中的字符串,首先你要使用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();
}
}

}
京雁风0gz
推荐于2016-11-21 · TA获得超过829个赞
知道小有建树答主
回答量:933
采纳率:50%
帮助的人:615万
展开全部
可以利用正则表达式匹配出你需要修改的字符串然后替换的方式修改,或者你已经知道需要修改的字符串直接用替换的方式替换掉就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
PHYANE
2011-05-17
知道答主
回答量:9
采纳率:0%
帮助的人:1.3万
展开全部
不知道你什么意思,可以使用
String str=file.readline();//readline()你就可以自己控制了
str.replace("想换的","新换的样子");
如果把问题描述清楚会更好回答
追问
假如文件内容如下:
baidu zhidao tiwen
java abcd badc
要想将zhidao改成answer,应该怎样操作,用java
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
随性亻
2015-05-19 · TA获得超过4180个赞
知道小有建树答主
回答量:4622
采纳率:84%
帮助的人:637万
展开全部
这种情况,要么将文件一行一行读取出来,再一行一行存回去,读到你要修改的“某一行中某一段字符串”的时候,使用if来进行修改就行。
参考资料:http://zhidao.baidu.com/link?url=pIvK7GNiKRkwjYZJdfEFv6VHjR6Vnm0lgDVYyoVjUo3xWj_57e_Yobqal3a7YtFd0RLlyi_R-DGhqWV5NVHuha
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式