把中文目录名称修改成英文首字母大写或英文目录

<dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.6.3</version><scope>compile</scope>
</dependency>
<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version>
</dependency>
package com.xxx.page;import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
import java.io.File;
import java.util.*;public class test02 {/** 存放当前目录的名称 查重用*/public static Map<String,Integer> map = new HashMap<>();/** 存放当前目录名称*/public static String currentName = "";public static String getFirstSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);if (temp != null) {pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim().toUpperCase();}/*** 获取汉字串拼音,英文字符不变** @param chinese* @return*/public static String getFullSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString();}public static void changeName(String name){if (map.containsKey(name)) {int index = map.get(name);currentName = name + "_" + index;map.put(name,index + 1);}else {currentName = name;map.put(name,1);}}/***  @Author: CS*  @Description:  获取当前目录名称*/public static String getNamePath(String name){changeName(name);return currentName;}/*** 转换当前得文件夹 把中文目录变成英文* @param path*/public static void renamePath(String path){//存放当前 目录的集合//1、待转换文件所在文件夹File file = new File(path);File[] filelist = file.listFiles();for (File fi : filelist) {//1、获取到文件名if (fi.isDirectory()){String substring = fi.getName();String newPrefix = getFirstSpell(substring);//3、获取文件的后缀System.out.println(fi.getParent());System.out.println(fi.getPath());String newPath = fi.getParent() + "\\" + newPrefix;newPath = getNamePath(newPath);fi.renameTo(new java.io.File(newPath));renamePath(newPath);}}}public static void main(String[] args) {renamePath("Z:\\test\\english_file");// 测试目录同名遍历
//        String[] str = new String[]{"hd","hd","hd","hd"};
//        for (int i = 0; i < str.length; i++) {//            changeName(str[i]);
//            System.out.println(currentName);
//        }}
}

把中文目录名称修改成英文首字母大写或中文拼音目录相关推荐

  1. excel 中文转英文首字母大写,数据透视表制作,字符串分割方法

    1.中文转英文首字母大写,我的excel是2007版本的, 把下面的代码复制到宏模板里面,然后直接关闭就好了 Function getpychar(char) tmp = 65536 + Asc(ch ...

  2. html5首字母大小写,css中如何设置英文首字母大写

    css中可使用text-transform属性来设置英文首字母大写.text-transform属性可控制文本的大小写,只需要给包含英文字母文本的元素设置"text-transform:ca ...

  3. css 首字母,css如何设置英文首字母大写

    我们经常在英文报纸上看到首个单词大写,那么单词首字母大写如何设置,可能很多人遇到这种问题都不知道怎么操作,下面我们来讲解一下css如何设置英文首字母大写? 实现英文首字母大写可以使用div+css,d ...

  4. WPS取消英文首字母大写

    WPS编辑文档时,有时需要编写代码,此时不需要设置英文首字母大写,可以通过如下方式取消. 1.点击左上角"WPS文字"->选项 --> 编辑 2.在"自动更正 ...

  5. visio取消英文首字母大写

    1.打开visio,然后点击"文件" 2.出现的界面中,点击"选项" 3.出现的界面一次点击"校对","自动更正选项(A)&quo ...

  6. excel小写转大写公式_英文首字母大写,你还在手动切换大小写输入吗?

    最近,小编整理了一份相对冷门却很简单的excel函数,今天特意分享给大家 函数1:英文字母全部以小写显示 如下图,在G列输入公式,让英文字母全部以小写显示.用[LOWER]函数即可解决,公式如G列. ...

  7. mysql转拼音首字母大写_Mysql中文汉字转拼音的实现  mysql首字母转化为大写

    这篇文章主要介绍了Mysql中文汉字转拼音的实现,并且每个汉字会转换全拼,使用Mysql自定义函数实现,需要的朋友可以参考下 第一步:我们将在mysql中新建必要的函数 一.创建拼音对照表 -- 创建 ...

  8. linux7系统改成中文,把CentOS 7系统显示语言从中文修改成英文的方法

    下面以图解的方式为你讲解把CentOS 7系统的中文显示语言修改成英文.虽然中文界面便于直观理解,但是有时在CentOS 7系统中要使用操作命令,遇到有中文目录的情况,有中英文名称混合,对输入字符与定 ...

  9. Android系统之路(初识MTK) ------ Default Voice Control/输入法校准、自动校准、首字母大写、按键声音

    今天给大家分享MTK平台系统编程与修改的另一个部分,分别是输入法校准.自动校准默认关.首字母大写默认开.按键声音默认关.Voice Control 移除系统中文,默认 英文,下面一个一个的介绍给大家 ...

最新文章

  1. 如何开展软件架构之需求分析3
  2. Python语言学习:基于python五种方法实现使用某函数名【func_01】的字符串格式('func_01')来调用该函数【func_01】执行功能
  3. 一款IDEA插件神器,帮你一键转换DTO、VO、BO、PO、DO
  4. 网络编程懒人入门(三):快速理解TCP协议一篇就够
  5. 吴恩达机器学习 -- 神经网络学习
  6. mysql 关系_MySQL之关系
  7. Codeforces 932D - Tree
  8. 清华女生破解北斗?中国最年轻女博导揭秘背后实情
  9. 找回密码forget_password
  10. leetcode 9. 回文数(python)
  11. 干货 :如何系统地学习数据挖掘
  12. 异步IO框架实现之完成端口(Completion Port)
  13. 学习C语言编程必备的入门书籍
  14. 【实验操作】计算机网络cisco思科仿真实验操作汇总
  15. UNIX网络编程---守护进程和inetd超级服务器(十三)
  16. python+selenium自动化脚本例子
  17. mbim ndis ecm ncm之我的理解
  18. 微服务理论与实践[1]-什么是微服务
  19. 【夯实Dubbo】Dubbo的核心特性
  20. 解决VS CODE官网下载速度慢的问题

热门文章

  1. 成语接龙 给一个很大的成语库 如何找出其中最长的一条线
  2. 003.关于光流传感器(ADNS3080)调焦问题
  3. linux下用命令修改图片像素
  4. 多协议标记交换MPLS
  5. Zigbee入门指导(二)mdash;mdash;运行Zigbee例程
  6. Caffeine教程
  7. 在控制台,打印出某个具体的变量,并监听其变化
  8. uestc 1903
  9. 柔柔弱弱若若若若若若若若
  10. 11.2.5 云计算、大数据时代