判断文件夹中含有中文名文件名

来源:互联网 发布:禁止系统自动安装软件 编辑:程序博客网 时间:2024/04/29 00:36
 
package inspur.democreen.listFile;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;public class FileSystem {private static ArrayList filelist = new ArrayList();public static void main(String[] args) throws Exception{long a = System.currentTimeMillis();File file = new File("f://aa"); // 先建文件夹if (file.isDirectory()) {System.out.println("该文件夹已存在!");} else {System.out.println("成功创建一个文件夹!");file.mkdir();}File TxtFile = new File("f://aa//kpisearch2012.txt"); // 再创建文件if (!TxtFile.exists()) {TxtFile.createNewFile();} else {System.out.println("该文件已经存在");}FileWriter fr;fr = new FileWriter(TxtFile);refreshFileList(fr,"c:\\Program Files\\List\\kpisearch2012\\");fr.close();System.out.println(System.currentTimeMillis() - a);}public static void refreshFileList(FileWriter fr,String strPath) throws Exception{File dir = new File(strPath);File[] files = dir.listFiles();if (files == null)return;for (int i = 0; i < files.length; i++) {if (files[i].isDirectory()) {refreshFileList(fr,files[i].getAbsolutePath());} else {// if(gbk(files[i].getName())){String strFileName = files[i].getAbsolutePath().toLowerCase();// 截取最后一段 文件名,判断System.out.println("---" + strFileName);fr.write(strFileName+"\n"); // 再写内容filelist.add(files[i].getAbsolutePath());// }}}}public static boolean gbk(String str) {char[] chars = str.toCharArray();boolean isGB2312 = false;for (int i = 0; i < chars.length; i++) {byte[] bytes = ("" + chars[i]).getBytes();if (bytes.length == 2) {int[] ints = new int[2];ints[0] = bytes[0] & 0xff;ints[1] = bytes[1] & 0xff;if (ints[0] >= 0x81 && ints[0] <= 0xFE && ints[1] >= 0x40&& ints[1] <= 0xFE) {isGB2312 = true;break;}}}return isGB2312;}}


 

 

 

原创粉丝点击