亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

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

時(shí)間:2020-10-06 14:54:56 ACCP培訓(xùn) 我要投稿

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

  經(jīng)常有些文件中的一些內(nèi)容需要批量替換,手動(dòng)的用編輯器替換,只能針對(duì)單個(gè)文件,涉及多文件的時(shí)候,很費(fèi)時(shí)間。下面小編準(zhǔn)備了關(guān)于Java文本文件批量替換小程序的'方法,提供給大家參考!

  由于有個(gè)web項(xiàng)目的字符集編碼原本使用gb2312,現(xiàn)在想改為utf-8編碼,項(xiàng)目下有很多的html,手動(dòng)去修改相當(dāng)麻煩,比較懶,于是就寫(xiě)了如下的java程序?qū)tml文件中的charset=gb2312進(jìn)行替換,替換為 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) {

  // 以過(guò)濾器作為參數(shù)

  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文本文件批量替換小程序的方法】相關(guān)文章:

Java程序?qū)W習(xí)方法05-29

Java程序編寫(xiě)記事本方法大全11-08

簡(jiǎn)單的Java程序編寫(xiě)06-02

如何編譯java程序05-29

實(shí)現(xiàn)鼠標(biāo)畫(huà)圖的Java程序10-25

微信小程序使用方法11-09

CAD查找和替換的方法05-25

java編寫(xiě)即時(shí)聊天程序11-08

Java程序員必看的書(shū)籍07-21