Java常用库和工具类

计算百分比:

private Double caculatePercent(Double ysetDay,Double today){
        if(ysetDay==0&&today==0){//两天数据都为0
            return 0D;
        }
        if(ysetDay==0){//昨天的为0 今天的不为0
            return 1D;
        }
        if(today==0){//今天的为0 昨天的不为0
            return -1D;
        }

        Double percent = 0D;
        if(ysetDay==today){//今天和昨天相等
            percent = 0D;
        }else if(ysetDay>today){//昨天的大于今天的 下降
            Double down = ysetDay-today;
            percent = (-1D)*(down/ysetDay); //把值改成负数
        }else if(ysetDay<today){//今天大于昨天的 上升
            Double up = today-ysetDay;
            percent = up/ysetDay; //正的百分比
        }
        return percent;
    }

 

压缩文件:

 public static boolean oneFileToZip(String sourceFilePath,String[] fileNames, String zipFilePath,String zipName){//压缩目标所在位置,要压缩的文件名字数组,压缩文件的保存位置,压缩文件的保存名字
        boolean flag = false;
        FileInputStream fis = null;
        BufferedInputStream bis = null;
        FileOutputStream fos = null;
        ZipOutputStream zos = null;
        File sourceFile = new File(sourceFilePath);

        if(sourceFile.exists() == false){
            System.out.println("待压缩的文件路径:"+sourceFilePath+"不存在.");
        }else{
            try {
                File zipFile = new File(zipFilePath + "/" + zipName +".zip");//创建文件保存的压缩文件

                if(zipFile.exists()){
                    System.out.println(zipFilePath + "目录下存在名字为:" + zipName +".zip" +"打包文件.");//对文件存在性进行判断
                }else{


                    File[] sourceFiles = new File[fileNames.length];
                    for (int i=0;i<fileNames.length;i++){
                        File file = new File(sourceFilePath+"/"+fileNames[i]);
                        sourceFiles[i] = file;
                    }

                    if(null == sourceFiles || sourceFiles.length<1){
                        System.out.println("不存在需要压缩的文件");
                    }else{
                        fos = new FileOutputStream(zipFile);
                        zos = new ZipOutputStream(new BufferedOutputStream(fos));
                        byte[] bufs = new byte[1024*10];
                        for(int i=0;i<sourceFiles.length;i++){
                            //创建ZIP实体,并添加进压缩包
                            ZipEntry zipEntry = new ZipEntry(sourceFiles[i].getName());
                            zos.putNextEntry(zipEntry);
                            //读取待压缩的文件并写进压缩包里
                            fis = new FileInputStream(sourceFiles[i]);
                            bis = new BufferedInputStream(fis, 1024*10);
                            int read = 0;
                            while((read=bis.read(bufs, 0, 1024*10)) != -1){
                                zos.write(bufs,0,read);
                            }
                        }
                        flag = true;
                    }
                }
            } catch (FileNotFoundException e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            } catch (IOException e) {
                e.printStackTrace();
                throw new RuntimeException(e);
            } finally{
                try {
                    if(null != bis) bis.close();
                    if(null != zos) zos.close();
                } catch (IOException e) {
                    e.printStackTrace();
                    throw new RuntimeException(e);
                }
            }
        }
        return flag;
    }

在一定范围内产生随机数:

Integer MaxNum = new Integer(Max);
Integer MinNum = new Integer(Min);
//在范围内产生随机数
DecimalFormat df = new DecimalFormat("#.000");
double x=MinNum+(Math.random()*(MaxNum-MinNum));
String str = df.format(x);
System.out.println(str);

 在项目同级目录下进行文件读写(SpringBoot下修改设置Properties)

public static Boolean setRemoteProperty(String key,String value) {

        File directory = new File("");
        String FileName = "remoteProject.properties";
        try{
            String courseFile = directory.getCanonicalPath();
            File file = new File(courseFile,FileName);
            if(file.isFile()){
                //修改文件
                Properties prop = new Properties();
                prop.load(new FileInputStream(file));
                OutputStream fos = new FileOutputStream(file);
                prop.setProperty(key.trim(), value.trim());
                prop.store(fos, null);
                fos.close();
            }else{
                //创建文件
                file.createNewFile();
                Properties prop = new Properties();
                prop.load(new FileInputStream(file));
                OutputStream fos = new FileOutputStream(file);
                prop.setProperty(key.trim(), value.trim());
                prop.store(fos, null);
                fos.close();
            }
        }catch (IOException e){
            e.printStackTrace();
        }

        return true;
    }

  

 

posted @ 2019-06-12 11:08  土拨鼠v1  阅读(282)  评论(0编辑  收藏  举报