java更改reader字体颜色,Java 修改 文件内容 and BufferedReader 乱码问题

批量修改相似文档,在文档中添加一行,(处理大量小文件)

package edu.btbu.cs714.webgl.three;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class ChangeAPI {

private Pattern pattern = null;;

public ChangeAPI(){

pattern = Pattern.compile("\\s*\\[link:https:.*\\.js\\]");

}

public void updateFile(File file) throws IOException{

if(file.getName().endsWith(".html")){

//file. new InputStreamReader(in,"utf-8")

BufferedReader br = new BufferedReader( new InputStreamReader(new FileInputStream(file),"utf-8"));

StringBuffer sb =new StringBuffer();

String tempString = null;

while((tempString=br.readLine())!=null){

//System.out.println(tempString);

Matcher matcher = pattern.matcher(tempString);

sb.append(tempString+'\n');

while(matcher.find()){

tempString = "
[link:../../../src/[path].js src/[path].js]\n";//添加内容

sb.append(tempString);

}

}

br.close();

//System.out.println(sb);

BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));

bw.write(sb.toString());

bw.close();

}else if(file.isDirectory()){

for(File f :file.listFiles()){

updateFile(f);

}

}

}

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

ChangeAPI change = new ChangeAPI();

change.updateFile(new File("F:\\Work\\docs\\api"));

}

}

其中乱码问题解决:

为InputStreamReader、OutputStreamReader设置编码格式utf-8:

BufferedReader br = new BufferedReader( new InputStreamReader(new FileInputStream(file),"utf-8")); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"utf-8"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值