java io怎么替换原文件的内容

java io怎么替换原文件的内容,第1张

先读取文件内容

通过工具类FileUtils.readFileasString(Filename)存储至变量中filestr

替换变量中的文件内容   filestr.replace(元字符串,替换字符串)

写回源文件修改后的内容

通过工具类FileUtils.writeStringToFile(file, data)

需要导入commons-io的jar包

import java.io.BufferedReader

import java.io.File

import java.io.FileNotFoundException

import java.io.FileReader

import java.io.FileWriter

import java.io.IOException

import java.io.PrintWriter

public class Day02_B {

static String path="K:/Test/Name.txt"//路径

public static void main(String[] args) {

File fileText=new File(path)//文件

if(fileText.canExecute()) //如果文件存在就继续

setText(fileText,"刚","xx")//“刚”指定改为:“XX”

}

private static void setText(File fileText,String target,String src) {//修改

BufferedReader br=null

PrintWriter pw=null

StringBuffer buff=new StringBuffer()//临时容器!

String line=System.getProperty("line.separator")//平台换行!

try {

br=new BufferedReader(new FileReader(fileText))

for(String str=br.readLine()str!=nullstr=br.readLine()) {

if(str.contains(target)) 

str=str.replaceAll(target,src)

buff.append(str+line)

}

pw=new PrintWriter(new FileWriter(fileText),true)

pw.println(buff)

} catch (FileNotFoundException e) {

e.printStackTrace()

}catch (IOException e) {

e.printStackTrace()

}finally {

if(br!=null)

try {

br.close()

} catch (IOException e) {

e.printStackTrace()

}

if(pw!=null) 

pw.close()

}

}

}

可以通过BufferedReader 流的形式进行流读取,之后通过readLine方法获取到的内容,之后通过if判断来实现在某些特定位置的查找、增加、删除、修改 *** 作。

举例:

BufferedReader bre = null

OutputStreamWriter pw = null//定义一个流

try {

String file = "D:/test/test.txt"

bre = new BufferedReader(new FileReader(file))//此时获取到的bre就是整个文件的缓存流

pw = new OutputStreamWriter(new FileOutputStream(“D:/test.txt”),"GBK")//确认流的输出文件和编码格式,此过程创建了“test.txt”实例

while ((str = bre.readLine())!= null) // 判断最后一行不存在,为空结束循环

{

if(str.indexOf("排除")<0){//判断是否需要舍弃

pw.write(str)//将要写入文件的内容,可以多次write

}

}

bre.close()//关闭流

pw.close()//关闭流

解释:以上方法是实现的删除,if中的条件改变下,即可实现其余的功能。

备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12026239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存