java不解压读取linux服务器上的zip以及tar.gz压缩文件

public void readZipFile(String file) {
        FileWriterWithEncoding writer=null;
        try {
            writer=new FileWriterWithEncoding(new File("/home/www/test1/gz/zipfile.txt"),"utf-8",true);
        } catch (IOException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        String fileName = "";
        try {
            ZipFile zf = new ZipFile(new File(file));
            long timestamp = 0;
            LinkedBlockingQueue<Runnable> queue = new LinkedBlockingQueue<Runnable>();
            final int maxsize = 10;
            ExecutorService executor = new ThreadPoolExecutor(maxsize, maxsize, 0l, TimeUnit.MILLISECONDS, queue);
            for (Enumeration<?> entries = zf.getEntries(); entries.hasMoreElements();) {
                ZipEntry ze = ((ZipEntry) entries.nextElement());
                if (ze.isDirectory()) {
                } else {
                    fileName = ze.getName();
                    long size = ze.getSize();
                    timestamp = ze.getTime();
                    System.err.println("fileName>>"+fileName);
                    if (size > 0 ) {
                        BufferedReader br = new BufferedReader(new InputStreamReader(zf.getInputStream(ze), "utf-8"));
                        String line;
                        // sohu_地域_电视剧-日本_563.txt
                        // media_taggroup_tagname_tagId.txt
                        String[] names = fileName.split("_");
                        while ((line = br.readLine()) != null) {
                            //System.out.println(fileName + "--zip>>>" + line);
                            writer.write(line);
                            while (queue.size() >= maxsize) {
                                try {
                                    Thread.sleep(10);
                                } catch (InterruptedException e) {
                                    Log.OutException(e);
                                }
                            }
                            Callable<String> worker = new MyCallable(id, tagid, media, album, chanel, video, tagname,
                                    timestamp);//此处为线程类
                            executor.submit(worker);
                            // list.add(submit);



                        }
                        updataFileStatus(fileName, file, 1);
                        br.close();
                    }
                }
            }
            executor.shutdown();
            try {
                executor.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS);
            } catch (InterruptedException e) {
                Log.OutException(e);
            }
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            updataFileStatus(fileName, file, 0);
            e1.printStackTrace();
        }
    }

本周接到一个活让读取linux服务器上大文件,按行读取后再拆分放入Redis中。由于是大文件,想考虑到效率的问题,计划是想使用多线程读取,但是查资料,读取文件I/O的效率只跟磁盘有关,故多线程无效,但是考虑到I/O太多会死,故还是使用了线程池,当线程大于某一个值时,停一会,在读取。

1、首先是读取zip压缩文件

由于直接使用jdk的java.util.zip.ZipFile以及java.util.zip.ZipEntry读取时,可能由于服务器上zip压缩文件的编码问题,导致读取失败。故使用了第三方jar包ant.jar

卓越扩展性:能够支持训练拥有数千亿参数的模型,并在多节点多 GPU 系统上展现出卓越的扩展性。因此,即使是一个拥有 130 亿参数的模型,也只需 1.25 小时就能完成训练。而对于拥1750亿参数的模型,使用Deep Speed Chat进行训练也只需不到一天的时间。

注意:在Azure上训练时由于GPU不同,所以训练时间和费用也各不相同。

全民ChatGPT时代来了

做个不太恰当的比喻,微软此次开源Deep Speed Chat就像当年的互联网,为了提升发展速率降低了台式机的价格,使得普通用户也能拥有自己的电脑。

只有参与的用户多了,整个行业生态才能快速壮大发展,所以,微软此次开源对整个ChatGPT生态发展起到了至关重要的推动作用,使得人人都能拥有自己的ChatGPT。

目前,ChatGPT处于初级发展阶段,存在安全隐患、数据隐私、道德等问题。相信随着参与用户的增多,这些难题将会被有效的解决,从而为全球经济发展做出贡

卓越扩展性:能够支持训练拥有数千亿参数的模型,并在多节点多 GPU 系统上展现出卓越的扩展性。因此,即使是一个拥有 130 亿参数的模型,也只需 1.25 小时就能完成训练。而对于拥1750亿参数的模型,使用Deep Speed Chat进行训练也只需不到一天的时间。

注意:在Azure上训练时由于GPU不同,所以训练时间和费用也各不相同。

全民ChatGPT时代来了

做个不太恰当的比喻,微软此次开源Deep Speed Chat就像当年的互联网,为了提升发展速率降低了台式机的价格,使得普通用户也能拥有自己的电脑。

只有参与的用户多了,整个行业生态才能快速壮大发展,所以,微软此次开源对整个ChatGPT生态发展起到了至关重要的推动作用,使得人人都能拥有自己的ChatGPT。

目前,ChatGPT处于初级发展阶段,存在安全隐患、数据隐私、道德等问题。相信随着参与用户的增多,这些难题将会被有效的解决,从而为全球经济发展做出贡

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手把手教你学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值