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

作者&投稿:大戚 (若有异议请与网页底部的电邮联系)
我要用JAVA对文件中的某一段字符串进行修改,应该怎样做?谢谢~

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Du {

public static void main(String[] args) throws IOException {

String srcFile = "test.txt";
String targetFile = "test1.txt";
String text = "zhidao";
String replace = "answer";

replaceContentInFile(srcFile, targetFile, text, replace);
}

private static void replaceContentInFile(String srcFile, String targetFile, String text, String replace) throws FileNotFoundException, IOException {
BufferedReader bfr = new BufferedReader(new FileReader(srcFile));
BufferedWriter bfw = new BufferedWriter(new FileWriter(targetFile));

String content = null;

while((content = bfr.readLine()) != null){
bfw.write(content.replaceAll(text, replace));
bfw.newLine();
}


bfw.close();
bfr.close();
}
}
---------------运行完成后目标文件内容
baidu answer tiwen
java abcd badc

如下图,给你贴出了代码段。可以利用字符串的substring函数来进行截取。

其中,substring函数有两个参数:
1、第一个参数是开始截取的字符位置。(从0开始)
2、第二个参数是结束字符的位置+1。(从0开始)
indexof函数的作用是查找该字符串中的某个字的位置,并且返回。
扩展资料:
substring这个函数也可以只写一个参数,就是起始字符位置。这样就会自动截取从开始到最后。
例如:

结果是:456789(注意:包括4。)
示例:
"hamburger".substring(3,8) returns "burge"
"smiles".substring(0,5) returns "smile"
参考资料:百度百科——substring

我首先说下思路吧,你想更改文件中的字符串,首先你要使用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();
}
}

}

可以利用正则表达式匹配出你需要修改的字符串然后替换的方式修改,或者你已经知道需要修改的字符串直接用替换的方式替换掉就可以了。

不知道你什么意思,可以使用
String str=file.readline();//readline()你就可以自己控制了
str.replace("想换的","新换的样子");
如果把问题描述清楚会更好回答

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


如何利用 java 进行项目开发?
3. 学习Java Web开发框架,例如Spring、Hibernate等等。这些框架可以帮助您更轻松地构建Web应用程序。4. 练习编写Java代码,例如编写简单的程序或参与开源项目。这有助于您更好地理解Java编程。

java源代码如何用
java源代码是用来关联jar中的编译代码的。应用场景:通常在打开eclipse中的jar的时候,发现class文件不能被打开,此时出现下面的界面,此时就需要通过“AttachSource”,之后找到对应的java源代码来实现代码关联,即可正常的显示class类中的内容。备注:如果此处ava源代码指的是源代码文件(“.java”),是用...

用记事本写完java代码后怎么运行啊?
1、用浏览器打开用记事本编写的代码 新建“文本文档”后,鼠标右键点击该文本文档,在菜单栏的“打开方式”选择“用记事本打开”,也可以设置默认打开方式为“记事本”;用记事本打开文本文档后,直接在该文档内根据自己的需要输入想要编辑的网页代码。2、记事本写java代码怎么运行 首先,需要安装jdk并配置...

怎么运行java
编写Java源代码文件,例如HelloWorld.java。可以使用任何文本编辑器来编写Java源代码,包括记事本(Notepad)。打开记事本(Notepad)并在其中粘贴或输入Java源代码。保存Java源代码文件,例如保存为HelloWorld.java。打开命令提示符或终端窗口,在其中使用cd命令切换到Java源代码文件所在的目录。例如:cd C:\\Use...

如何在java代码中使用HTTP代理IP,示例代码demo直接可用(步骤注释清晰...
在Java编程中,如果您需要利用HTTP代理IP进行网络请求,这里提供一个简易的示例代码,适合初学者参考。首先,我们使用的是多米HTTP代理服务,注册后可免费获得1000个高匿名IP,有效期长达一年,这对于测试和调试代码非常实用。以下代码示例展示了如何操作:首先,通过API连接获取代理IP,这个过程包括打开代理服务...

简单的java程序代码?
首先,先看看电脑是否设置为显示已知文件扩展名。如果没有,要先设置一下。点击计算机,工具(T),文件夹选项(O),查看,在高级设置一栏里找到隐藏已知文件扩展名,把前面的钩钩去掉。很简单的啊,在记事本里写上相应的java代码,写好保存后将相应的文件名后缀改为***.java,然后用CMD去编译一下就...

java代码怎样运行出来?
步骤:1、在cmd中切换到编写的代码所保存的目录下;2、在cmd中输入javac然后点空格,再点击文件名和包括后缀名确定后,在存放编写代码的文件下会生成一个class的字节码文件;3、在cmd中输入java然后点空格,输入第二步中生成的字节码的文件名,不需要后缀名,点击确定即可运行代码。代码就是程序员用...

彻底理解Java内部类的使用(内部类代码实例详解)
在抽象类和接口中使用内部结构 在我们的java之中,类作为最基础的结构体实际上还有与之类似的抽象类或者是接口,抽象类和接口中都可以定义内部结构。接口中定义内部接口 我们现在定义内部接口:publicclassTest{publicstaticvoidmain(String[]args){Teacherteacher=newTeacher();teacher.say();}}0publicclassTest{public...

Notepad++直接编译运行java代码
Notepad++拥有强大的插件管理能力,可以集成并实现很多的功能,利用NppExec插件可以实现直接编译运行java代码的功能,下面就介绍下方法 1、打开Notepad++,在工具栏中找到插件,选择插件管理,展示所有的插件 2、在列表里选择NppExec,点击下方的安装,进入在线下载页面 3、下载完毕后,提示重启生效,点击是 4...

网上下载的JAVA代码怎么用
一种是在打开的时候询问工作空间路径,输入你的eat文件夹的绝对路径就可以.另一种是在Eclipse中,选文件(File) -> 切换工作空间(Switch Workspace) 然后输入eat文件夹的绝对路径.常理来讲,这样就能看到源代码了,至于运行,你需要找到这些源代码中的main方法,你可以在左侧的"包资源管理器(Package)"中找到...

新乡市15086762645: 如何利用JAVA代码实现文件中某一行中某一段字符串的修改? -
超熊富马: 我首先说下思路吧,你想更改文件中的字符串,首先你要使用java中的io把文件里面的内容全部读到一个字符串当中,然后对这个字符串进行查找替换的操作,最后在把你更改之后的这个字符串写进文件当中,当然是覆盖掉这个文件.这里我就...

新乡市15086762645: 如何用java编程实现文本文档中某些有用信息的提取? -
超熊富马: 1. 读取指定文本文件对象.2. 利用过滤器可以把所需信息读取来即可.3. 把读出来的信息输出(持久化)即可.可参考以下代码 package tool; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; ...

新乡市15086762645: 用java怎么在一个文件里面记录东西 -
超熊富马: Java IO 操作文件.import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; public class MainClass { public ...

新乡市15086762645: java怎样向一个文件(如txt文件)中写入一段数据,保存后下一次打开继续使用? -
超熊富马: 1. 这个JDK的类库都帮我们实现好了.如FileWriter类:public FileWriter(File file,boolean append) throws IOException2. 根据给定的 File 对象构造一个 FileWriter 对象.如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处. ...

新乡市15086762645: 怎样用java程序实现文件拷贝 -
超熊富马: 工具/原料 一台配置了java环境的电脑 一款适合自己的开发集成环境,这里用的是eclipse Kepler 文件拷贝DEMO 1.首先,理清思路,然后我们再动手操作. 拷贝,有源文件,和目的文件.如果原文件不存在,提示,报错. 如果目的文件不...

新乡市15086762645: 怎样用java打开指定文件 -
超熊富马: File file = new File("文件绝对路径"); Desktop.getDesktop().open(file); 即可调用系统的默认打开工具,打开这个文件

新乡市15086762645: Java如何实现读一个文件(非文本文件)后输出其中自己指定的一部分? -
超熊富马: import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.LineNumberReader; import java.util.Scanner;/** * 读取文件指定行数内容 * @author young * */ public class ...

新乡市15086762645: java怎么修改文本文件每行里的某一内容? -
超熊富马: 1.把整个TXT文件读取出来(FileReader)存到一个String对象里! 2.正则替换String对象,替换表达式.比如 String a = "13730000666"; String b = a.replaceAll("(\\d{4})(\\d{4})(\\d{3})","$1****$3"); System.out.println(b); 输出: 1373****666 3.再将String对象写回TXT文件.

新乡市15086762645: 如何用JAVA实现加载一个文件? -
超熊富马: 有2个, 都很简单. jspSmartUpload 你在google搜索一下就有了.还有 STRUTS 的 commons-fileupload. 用法都有的.不过 jspSmartUpload 存在中文路径会解析不了的情况, 下载jar包的时候注意一下, 下载一个可以支持UTF8的jar包.

新乡市15086762645: 怎样用java语言实现对文件夹里内容的删除 修改这两个功能 -
超熊富马: 简单的可以把java代码写在jsp文件中,不过这个后期修改起来麻烦也可以用serlvet的方式

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网