⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 中文to拼音.txt

📁 用JAVA语言编写的USB设备访问
💻 TXT
字号:
件名从中文转为拼音           ★★ 
用Java将文件名从中文转为拼音 
 
 
 
将指定目录下面得所有文件名从中文转化为拼音,并保存为html,其中拼音和汉字对照得文件可以通过Windows自带得程序获得。又是一个小程序。

  public class hanzipinyin
  {
  public static void change(String path, String paths, String savepaths)
  { 
  
  File d = new File(paths);
  //取得当前文件夹下所有文件和目录的列表
  File lists[] = d.listFiles();
  String pathss = new String(""); 
  //对当前目录下面所有文件进行检索
  for(int i = 0; i < lists.length; i ++)
  {
  if(lists[i].isFile())
  {
  //得到doc文件名
  String filename = lists[i].getName();
  //定义最简文件名
  String realfilename = new String(filename.substring(0, 
  (filename.length() - 4)));
  
  //定义文件全名为路径加文件名
  String fullsavefilename = paths + realfilename;
  fullsavefilename = fullsavefilename.replace('\\', '_');
  fullsavefilename = fullsavefilename.replace(':', '@');
  fullsavefilename = fullsavefilename.substring(
  47, fullsavefilename.length());

  //定义文件类型
  String filetype = new String("");

  filetype = filename.substring((filename.length() - 3), 
  filename.length());
  
  if(filetype.equals("doc"))
  {
  System.out.println("--------\n当前正在转换......");
  //打印当前目录路径
  System.out.println(paths);
  //打印doc文件名
  System.out.println(realfilename);
  
  //启动word
  ActiveXComponent app = 
  new ActiveXComponent("Word.Application");
  
  String docpath = paths + filename;
  String txtpath = savepaths + fullsavefilename + ".htm";
  
  //格式化文件名
  txtpath = formatname(txtpath);     
  //将中文文件名改为拼音
  txtpath = pinyin(path, txtpath);



 

  //要转换的word文件
  String inFile = docpath;
  //txt文件
  String tpFile = txtpath; 
  boolean flag = false;
  
  try 
  {
  //设置word不可见
  app.setProperty("Visible", new Variant(false));
  Object docs = app.getProperty("Documents").toDispatch();
  //打开word文件
  Object doc = Dispatch.invoke(docs,"Open", 
  Dispatch.Method, new Object[]{inFile,
  new Variant(false), new Variant(true)}, 
  new int[1]).toDispatch();
  //作为txt格式保存到临时文件
  Dispatch.invoke(doc,"SaveAs", Dispatch.Method, 
  new Object[]{tpFile,new Variant(10)}, 
  new int[1]);
  Variant f = new Variant(false);
  Dispatch.call(doc, "Close", f);
  flag = true;
  } 
  catch (Exception e) 
  {
  e.printStackTrace();
  } 
  finally 
  {
  app.invoke("Quit", new Variant[] {});
  }
  System.out.println("转化完毕!\n--------");
  }
  }
  else
  {
  pathss = paths;
  //进入下一级目录
  pathss = pathss + lists[i].getName() + "\\";    
  //递归遍历所有目录
  change(path, pathss, savepaths);
  }
  }
  
  }
  
  public static String formatname(String name)
  {
  name = name.replace('、', '_');
  name = name.replace(')', ')');
  name = name.replace('(', '(');
  return name;
  }
  
  public static String pinyin(String path, String hanzi)
  {
  File f = new File(path);
  String pinyin = new String("");
  pinyin = hanzi;





  try
  {
  FileReader fr = new FileReader(f);
  BufferedReader br = new BufferedReader(fr);
  String line = new String(""); 
  line = br.readLine();
  int count = 0;
  int location = 0;
  while(line != null)
  {
  while(pinyin.indexOf(line.charAt(0)) != -1)
  {
  location = pinyin.indexOf(line.charAt(0));
  pinyin = pinyin.substring(0, location) + 
  line.substring(1, 2) + 
  pinyin.substring(location + 1, pinyin.length()); 
  }
  line = br.readLine();
  System.out.print("\b\b\b\b\b\b" + count++);
  }
  fr.close();
  br.close();   
  }
  catch(Exception e)
  {
  //   System.err.println(e);
  }
  return pinyin;
  }
  
  
  public static void main(String[] args)
  {
  
  String paths = new String("D:\\Work\\2004.10.8\\test system\\test01\\word\\");
  String savepaths = new String ("D:\\Work\\2004.10.8\\test system\\test01\\html\\");
  String path = new String("D:\\test\\file\\pinyin.txt");
  
  change(path, paths, savepaths);

  }
  }



  其中拼音和汉字对照得文件可以通过Windows自带得程序获得。 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -