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

    時間:2024-10-27 12:03:16 ACCP培訓 我要投稿
    • 相關推薦

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

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

      由于有個web項目的字符集編碼原本使用gb2312,現(xiàn)在想改為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) {

      // 以過濾器作為參數(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文本文件批量替換小程序的方法】相關文章:

    Java程序編寫記事本方法大全06-22

    如何編譯java程序09-28

    微信小程序使用方法06-08

    Excel查找和替換方法大全08-16

    實現(xiàn)鼠標畫圖的Java程序06-22

    java編寫即時聊天程序08-26

    Java程序開發(fā)與運行環(huán)境06-21

    Java枚舉的常用方法10-05

    Java線程同步的方法10-25

    sun認證java程序員07-20

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      日本一区二区三区不卡片高清 | 亚洲中文字幕自拍a人片 | 日本又黄又湿又高潮不卡网站 | 夜夜爽天天爽一区 | 亚洲欧美日产综合在线网性色 | 性色AⅤ一区二区三区天美传媒 |