Java文本文件批量替换小程序的方法

经常有些文件中的一些内容需要批量替换,手动的用编辑器替换,只能针对单个文件,涉及多文件的时候,很费时间。下面小编准备了关于Java文本文件批量替换小程序的方法,提供给大家参考!

由于有个web项目的`字符集编码原本使用gb2312,现在想改为utf-8编码,项目下有很多的html,手动去修改相当麻烦,比较懒,于是就写了如下的java程序对html文件中的charset=gb2312进行替换,替换为 charset=utf-8。(注:Dreamweaver 可以批量替换)

代码如下:

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileFilter;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.io.UnsupportedEncodingException;

public class ContextReplace {

private static String srcStr = "charset=gb2312";

private static String desStr = "charset=utf-8";

private static String srcDir = "f:\\test";

private static FileFilter filter = new FileFilter() {

public boolean accept(File pathname) {

// 只处理:目录 或是 .html文件

if (pathname.isDirectory()

|| (pathname.isFile() && pathname.getName().endsWith(

".html"))) {

return true;

} else {

return false;

}

}

};

public static void readDir(File file) {

// 以过滤器作为参数

File[] files = file.listFiles(filter);

for (File subFile : files) {

// 处理目录

if (subFile.isDirectory()) {

readDir(subFile);

}

// 处理文件

else {

System.err.println(" 源文件:\t" + subFile.getAbsolutePath());

System.err.println("---------------------------");

try {

replace(subFile.getAbsolutePath(), srcStr, desStr);

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

public static void replace(String infilename, String from, String to)

throws IOException, UnsupportedEncodingException {

File infile = new File(infilename);

BufferedReader in = new BufferedReader(new InputStreamReader(

new FileInputStream(infile), "utf-8"));

File outfile = new File(infile + ".tmp");

PrintWriter out = new PrintWriter(new BufferedWriter(

new OutputStreamWriter(new FileOutputStream(outfile), "utf-8")));

String reading;

while ((reading = in.readLine()) != null) {

out.println(reading.replaceAll(from, to));

}

out.close();

in.close();

infile.delete();

outfile.renameTo(infile);

}

public static void main(String[] args) {

File srcFile = new File(srcDir);

readDir(srcFile);

srcFile = null;

}

}

【Java文本文件批量替换小程序的方法】相关文章:

java替换的程序_Java文本文件批量替换小程序的方法相关推荐

  1. java简单小程序_Java简易登录注册小程序

    这篇文章主要介绍了Java图形界面开发,简易登录注册小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的 ...

  2. windows java 小程序_JAVA第一个窗体小程序

    import java.awt.*; public class Day1015_Frame { public static void main(String[] args) { Frame frame ...

  3. html防替换资源,蓝梦HTML批量替换工具免费版

    非常不错的文本批量替换软件,蓝梦HTML批量替换工具免费版为用户提供了两种不同的替换方式,以满足不同的情况,蓝梦HTML批量替换工具免费版不需要安装,没有任何广告弹窗,界面十分简洁,在日常办公中经常需 ...

  4. Java点餐系统+扫码点餐小程序部署文档(2020版)

    准备工作 1,安装jdk8或者jdk11 2,安装mysql8.0 3,安装IntelliJ IDEA 开发工具(java) 4,安装微信小程序开发者工具 5,注册小程序获取小程序appid java ...

  5. 应用程序初次运行数据库配置小程序(Java版)

    应用程序初始化数据库配置小程序 之前写过一个Java版的信息管理系统,但部署系统的时候还需要手动的去配置数据库和导入一些初始化的数据才能让系统运行起来,所以我在想是不是可以写一个小程序在系统初次运行的 ...

  6. java小程序详解_微信小程序登录Java后台接口(详解,附示例代码)

    首先看一下官方文档 地址:微信小程序官方文档API登录接口 我们先对官方给的时序图进行简单的分析 1.当小程序调用wx.login()时,会获得一个code(临时登录凭证),然后我们需要用wx.req ...

  7. Java SpringMVC+H5飞翔的小鸟游戏微信小程序源码

    源码介绍 Java SpringMVC+H5飞翔的小鸟游戏微信小程序源码 试验性质的一个微信小程序,用canvas做的一个类似flappy-bird的小游戏. 包含一些基本的功能:躲避障碍物.计分.排 ...

  8. 标签打印软件如何批量打印小程序码图片

    现在很多应用程序都拥有了自己的小程序码,它的使用方法与二维码相同,外观缺不一致,那么如果有很多小程序码的图片,该如何批量打印呢,下面我们就中琅标签打印软件来看一下如何批量打印小程序码图片. 一.整理图 ...

  9. java 做的原神抽卡模拟小程序

    java做的原神抽卡模拟小程序 难度不大,适合学完面向对象后做着玩. import java.util.ArrayList; import java.util.Calendar; import jav ...

  10. 【微信小程序】基于Java+uniapp框架开发的全开源微信小程序商城系统

    应用介绍 基于Java+uniapp框架开发的全开源微信小程序商城系统,前端采用目前主流的uniapp框架开发,后端采用Java语言开发,前后端代码全部开源,减少重复造轮子,支持小程序商城秒杀.优惠券 ...

最新文章

  1. python有哪些常用的package_python package相关机制总结
  2. 为客户端加入输入线程
  3. [LUOGU] P4342 [IOI1998]Polygon
  4. 【线段树 泰勒展开】Codechef April Challenge 2018 Chef at the Food Fair
  5. linux下搭建ntp服务,Linux 下快速搭建ntp 时间同步服务器
  6. 黑暗的富士康服务器被黑厂商用户名密码被泄
  7. WordPress调用自带jquery的方法 ,使 $ 生效
  8. 前端:JS/24/BOM和DOM简介,for...in循环遍历,window对象的属性和方法,延时器,定时器,screen屏幕对象,location地址栏对象,history历史记录对象
  9. ec11编码器c语言程序,EC11编码器识别程序——有时不准确,请达人指点
  10. 【java笔记】Properties类
  11. Makefile文件生成 GNU Autotools的使用方法
  12. JS base64编码和解码
  13. CCS的c语言编程,CCS_C语言编程
  14. Excel读取mysql数据库
  15. 攻击机靶机环境搭建——网络设置
  16. 如何解决网站不安全信息?免费SSL证书
  17. html中两列合并,wps两列合并成一列(表格中怎么把两列内容合并)
  18. 后台将图片以base64形式传给前台,前台展示
  19. 【一句日历】2019年7月
  20. (c#)小游戏 飞行棋

热门文章

  1. 产品经理小白面试经验总结
  2. JAVA学生宿舍管理系统
  3. 2018美赛b题论文翻译
  4. csdn下载码怎么用?
  5. 俄罗斯方块 java_java 俄罗斯方块
  6. 基于ADS500MHZ带通滤波器
  7. 【MATLAB】通信信号调制通用函数 — 带通滤波器
  8. ANSYS Workbench16教程学习01
  9. VFP+6.0中文版教程--初级教程
  10. 中原工学院计算机组成原理试卷,中原工学院计算机组成原理试卷.doc