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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何利用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();



参考技术A 可以利用正则表达式匹配出你需要修改的字符串然后替换的方式修改,或者你已经知道需要修改的字符串直接用替换的方式替换掉就可以了。 参考技术B 不知道你什么意思,可以使用
String str=file.readline();//readline()你就可以自己控制了
str.replace("想换的","新换的样子");
如果把问题描述清楚会更好回答追问

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

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

以上是关于如何利用JAVA代码实现文件中某一行中某一段字符串的修改?的主要内容,如果未能解决你的问题,请参考以下文章

写一个正则,统计出一个文件中某一段文字出现了多少次。

java代码中怎样给导出的excel表中某一列加超链接样式

用java代码实现读取Excel中每个sheet页的内容,并且要与其他的Excel中某一列的值进行

获取二维数组中某一列的最小值

如何从C#中获取ListView中选中某一行某一列的值

iOS开发UITableView中如何删除某一组中某一行的数据?要用啥方法?