java读取目录下所有文件,转换编码后输出

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.InputStreamReader;

import  java.io.OutputStreamWriter; 

 

public class Translate {

 public static void main(String[] args){

Translate.multiFile();

 }

 

 public static void singleFile(){

//读取文件内容

String path = "D:/cmis/data/";

FileOutputStream fos = null;

    OutputStreamWriter osw = null; 

    

try{

    File file=new File(path);

    File[] tempList = file.listFiles();

     fos  = new  FileOutputStream( "D:/cmis/Result.txt"); 

     osw  = new  OutputStreamWriter(fos, "GB2312" );

 

    System.out.println("该目录下对象个数:"+tempList.length);

    for (int i = 0; i < tempList.length; i++) {

    if (tempList[i].isFile()) {

       System.out.println("文     件:"+tempList[i]);

          // read file

        if(tempList[i].exists()){

        FileInputStream fi = new FileInputStream(tempList[i]);

           InputStreamReader isr = new InputStreamReader(fi, "utf-8");

           BufferedReader bfin = new BufferedReader(isr);

           String rLine = "";

           while((rLine = bfin.readLine())!=null){

           // write file

         osw.write(rLine+"\n"); 

         osw.flush(); 

           }

         bfin.close();

         isr.close();

        }

        }

        if (tempList[i].isDirectory()) {

         System.out.println("文件夹:"+tempList[i]);

        }

    }

        osw.close();

        fos.close();

  }catch(Exception e) {

  e.printStackTrace();

  }

 }

 

 public static void multiFile(){

//读取文件内容

String path = "D:/cmis/data/";

FileOutputStream fos = null;

    OutputStreamWriter osw = null; 

    

try{

    File file=new File(path);

    File[] tempList = file.listFiles();

 

    System.out.println("该目录下对象个数:"+tempList.length);

    for (int i = 0; i < tempList.length; i++) {

    if (tempList[i].isFile()) {

       System.out.println("文     件:"+tempList[i]);

     fos  = new  FileOutputStream( "D:/cmis/result/"+ tempList[i].getName()); 

     osw  =   new  OutputStreamWriter(fos, "GB2312" );

 

          // read file

        if(tempList[i].exists()){

        FileInputStream fi = new FileInputStream(tempList[i]);

           InputStreamReader isr = new InputStreamReader(fi, "utf-8");

           BufferedReader bfin = new BufferedReader(isr);

           String rLine = "";

           while((rLine = bfin.readLine())!=null){

           // write file

         osw.write(rLine+"\n"); 

         osw.flush(); 

           }

         bfin.close();

         isr.close();

        }

        osw.close();

        fos.close();

        

        }

        if (tempList[i].isDirectory()) {

         System.out.println("文件夹:"+tempList[i]);

        }

    }

  }catch(Exception e) {

  e.printStackTrace();

  }

 }

 

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值