zoukankan      html  css  js  c++  java
  • 解析一个文件夹所有文件的中文,并输出到某一文本文档中

    public class DoGetChinese{ 
    public static void main(String[] args) {
                String src = "D:/ab.txt";
                String res = "D:\static";
                File srcFile = new File(src);
                File resFile = new File(res);
                System.out.println(dowork(srcFile,resFile));
            }
    
            public static boolean dowork(File srcFile,File resFile){
                if(resFile.isDirectory()){
                    File[] files = scanFile(resFile);
                    for(File f:files){
                        dowork(srcFile,f);
                    }
                }else{
                    System.out.println("开始解析 "+resFile.getName()+"文件");
                    analysefile(srcFile,resFile);
                }
    
                return true;
            }
    
            public static File[] scanFile(File file){
                return file.listFiles();
            }
    
            public static void analysefile(File srcfile,File resFile){
                try(
              //这里建立流输入流时注意设置源文件的编码格式,默认为utf-8
              FileReader fr = new FileReader(resFile); BufferedReader br = new BufferedReader(fr); FileWriter fw = new FileWriter(srcfile,true); PrintWriter pw = new PrintWriter(fw); ){ List<String> words; while (true) { // 一次读一行 String line = br.readLine(); if (null == line) break; words = getChinese(line); for(String s:words){ pw.println(s); } } }catch (Exception e){ e.printStackTrace(); } } /*1、至少匹配一个汉字的写法。 2、这两个unicode值正好是Unicode表中的汉字的头和尾。 3、"[]"代表里边的值出现一个就可以,后边的“+”代表至少出现1次,合起来即至少匹配一个汉字。 */ public static List<String> getChinese(String paramValue) { String regex = "([u4e00-u9fa5]+)"; String str = ""; Matcher matcher = Pattern.compile(regex).matcher(paramValue); List<String> result = new ArrayList<>(); while (matcher.find()) { result.add(matcher.group(0)); } return result; } }
  • 相关阅读:
    18种典型算法
    幂法和反幂法
    关于Ubuntu下安装Win8和Win8下安装Ubuntu的注意事项
    静态链接库与动态链接库
    面向对象系列二(封装)
    基于ASP.NET WPF技术及MVP模式实战太平人寿客户管理项目开发(Repository模式)
    不要对终于用户谈云
    cocos2d-x 3.0 创建项目
    Android OpenGL ES 画球体
    设计模式 适配器模式 以手机充电器为例
  • 原文地址:https://www.cnblogs.com/haoyangblog/p/7575237.html
Copyright © 2011-2022 走看看