最近的一些总结

首先关于.zip文件的读取操作

public static void test() { 
            long startTime=System.currentTimeMillis(); 
            try { 
                ZipInputStream Zin=new ZipInputStream(new FileInputStream( 
                        "F:\\Parser.zip"));//输入源zip路径 
                BufferedInputStream Bin=new BufferedInputStream(Zin); 
                String Parent="F:\\"; //输出路径(文件夹目录) 
                File Fout=null; 
                ZipEntry entry; 
                try { 
                    while((entry = Zin.getNextEntry())!=null && !entry.isDirectory()){ 
                        Fout=new File(Parent,entry.getName()); 
                        if(!Fout.exists()){ 
                            (new File(Fout.getParent())).mkdirs(); 
                        } 
                        FileOutputStream out=new FileOutputStream(Fout); 
                        BufferedOutputStream Bout=new BufferedOutputStream(out); 
                        int b; 
                        while((b=Bin.read())!=-1){ 
                            System.out.println((char)b);
                            Bout.write(b); 
                        } 
                        Bout.close(); 
                        out.close(); 
                        System.out.println(Fout+"解压成功");     
                    } 
                    Bin.close(); 
                    Zin.close(); 
                } catch (IOException e) { 
                    e.printStackTrace(); 
                } 
            } catch (FileNotFoundException e) { 
                e.printStackTrace(); 
            } 
            long endTime=System.currentTimeMillis(); 
            System.out.println("耗费时间: "+(endTime-startTime)+" ms"); 
        } 

其次是关于文件常用的一个操作,读取目录下的所有文件,包括不同等级下的目录

    public static boolean readfile(String filepath)   {
        File file = new File(filepath);
        if (!file.isDirectory()) {
                System.out.println("文件");
                System.out.println("path=" + file.getPath());
                System.out.println("absolutepath=" + file.getAbsolutePath());
                System.out.println("name=" + file.getName());

        } else if (file.isDirectory()) {
                System.out.println("文件夹");
                String[] filelist = file.list();
                for (int i = 0; i < filelist.length; i++) {
                        File readfile = new File(filepath + "\\" + filelist[i]);
                        if (!readfile.isDirectory()) {
                                System.out.println("path=" + readfile.getPath());
                                System.out.println("absolutepath="
                                                + readfile.getAbsolutePath());
                                System.out.println("name=" + readfile.getName());

                        } else if (readfile.isDirectory()) {
                                readfile(filepath + "\\" + filelist[i]);
                        }
                }

        }
        return true;
}

对超大文件的读取

File file = new File(filepath);   
BufferedInputStream fis = new BufferedInputStream(new FileInputStream(file));    
BufferedReader reader = new BufferedReader(new InputStreamReader(fis,"utf-8"),5*1024*1024);// 用5M的缓冲读取文本文件  

String line = "";
while((line = reader.readLine()) != null){
//TODO: write your business
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值