• 文件操作


    复制:

    /**
         * 图片复制
         * @param source  xx/a.png
         * @param target  xx/b.png
         * @throws IOException
         */
        public static void copyPicture(String source,String target) throws IOException{
            File file = new File(target);
            if(!file.exists()){
                file.getParentFile().mkdirs();
            }
            file.createNewFile();
    
            //创建流对象
            DataInputStream dis=new DataInputStream(new FileInputStream(source));
            DataOutputStream dos=new DataOutputStream(new FileOutputStream(target));
            int temp;
            //读写数据
            while((temp=dis.read())!=-1){//读数据
                dos.write(temp);
            }
            //关闭流
            dis.close();
            dos.close();
        }

    压缩 zip 

    package zip;
    
    import java.io.BufferedInputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipOutputStream;
    
    // Used to zip a file
    public class FileZipper {
        private static final int BUFFER = 512;
        
        public boolean compressFilesToZip(String[] files,String zipfile) {
            return rugularZip(files,zipfile);
        }
        
        private boolean rugularZip(String[] fromFiles,String toFile) {
            File zipFile=new File(toFile);
            byte[] buffer=new byte[BUFFER];
            int readLen=0;
            
            try {
                ZipOutputStream zipOut=new ZipOutputStream(new FileOutputStream(zipFile)) ;
    
                int index=0;
                for(String file:fromFiles) {
                    File fileWillZip=new File(file);
                    
                    if(fileWillZip.exists()) {
                        InputStream inputStream=new BufferedInputStream(new FileInputStream(fileWillZip));
                        String entryName="#"+index+"_"+fileWillZip.getName();// entryName should be a valid filename,no path seperater allowed
                        zipOut.putNextEntry(new ZipEntry(entryName));
        
                        while((readLen=inputStream.read(buffer,0,BUFFER))!=-1) {
                            zipOut.write(buffer,0,readLen);
                        }
                        inputStream.close();    
                        
                        index++;
                    }
                }
    
                zipOut.close();
            }catch(Exception e) {
                e.printStackTrace();
                return false;
            }
            
            return true;
        }
        
        public static void main(String[] args) {
            String[] files= {"D:\wallpaper\5760666873360998521.jpg",
                             "D:\wallpaper\luda1.jpg",
                             "D:\wallpaper\luda2.jpg",
                             "D:\wallpaper\luda3.jpg",
                             "D:\wallpaper\luda4.jpg",
                             "D:\wallpaper\sheeps.jpg"};
            String zipfile="D:\wallpaper\result.zip";
            
            FileZipper fz=new FileZipper();
            fz.compressFilesToZip(files, zipfile);
        }
    }

    此文进阶请见:https://www.cnblogs.com/xiandedanteng/p/12155957.html

    参考: https://www.cnblogs.com/xiandedanteng/p/12155471.html

  • 相关阅读:
    CF1033F Boolean Computer
    CF1027G X-mouse in the Campus
    LOJ2570 [ZJOI2017]线段树
    清华强基&交大浙大三一
    java制作unicode代码在excel中批量导入图片
    laravel8新功能和笔记
    缩小图片比例大小和占用空间
    2018-2019-2 20175216张雪原 实验五《网络编程与安全》实验报告
    2018-2019-2 20175216张雪原 实验四《Android程序设计》实验报告
    20175216 《Java程序设计》第十一周学习总结
  • 原文地址:https://www.cnblogs.com/yrjns/p/12788181.html
Copyright © 2020-2023  润新知