yxhxj2006

常用链接

统计

最新评论

Java读取目录下Txt文本

  /**
     * 功能:Java读取目录下txt文件的内容
     * 步骤:先获得目录句柄,如果是文件直接读取文件,如果是目录,继续迭代处理
     * 
@param directoryPath
     
*/
    public static void readTxtDirectory(String directoryPath){
        File dir = new File(directoryPath);
        if(dir.isFile()) {           //读取文件
            readTxtFile(directoryPath);   
        } else if(dir.isDirectory()) {    //读取目录
            File[] files = dir.listFiles();
            for(int i=0;i<files.length;i++){
                System.out.println((files[i].isDirectory()?"目录 :":"文件 :")+files[i].getName());
                if(files[i].isFile()) {
                    readTxtFile(files[i].getAbsolutePath());
                } else {
                    readTxtDirectory(files[i].getAbsolutePath());
                }
            }
        } else { 
             System.out.println("路径不存在!");
        }
    }
    
     /**
     * 功能:Java读取Txt文件的内容
     * 步骤:1:先获得文件句柄
     * 2:获得文件句柄当做是输入一个字节码流,需要对这个输入流进行读取
     * 3:读取到输入流后,需要读取生成字节流
     * 4:一行一行的输出。readline()。
     * 备注:需要考虑的是异常情况
     * 
@param filePath
     
*/
    public static void readTxtFile(String filePath){
        try {
                String encoding="GBK";
                File file = new File(filePath);
                if(file.isFile() && file.exists()){ //判断文件是否存在
                    InputStreamReader read = new InputStreamReader(
                    new FileInputStream(file),encoding);//考虑到编码格式
                    BufferedReader bufferedReader = new BufferedReader(read);
                    String lineTxt = null;
                    while((lineTxt = bufferedReader.readLine()) != null){
                        lineTxt = lineTxt.trim();
                        if(lineTxt.length() > 0) {
                            String regEx = "[' ']+"; // 一个或多个空格  
                            Pattern p = Pattern.compile(regEx);  
                            Matcher m = p.matcher(lineTxt);
                            String[] txtArray = m.replaceAll(";").trim().split(";");
                            if(txtArray.length == 6 && txtArray[0].length() == 15) {
                                System.out.println(lineTxt);
                            }    
                        }
                    }
                    read.close();
                } else {
                    System.out.println("文件不存在!");
                }
        } catch (Exception e) {
            System.out.println("读取文件内容出错");
            e.printStackTrace();
        }
    }

posted on 2013-11-21 19:24 奋斗成就男人 阅读(261) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: