zoukankan      html  css  js  c++  java
  • 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;
        }
    

      

  • 相关阅读:
    一个白痴用户,抵得上一个3年经验的产品经理!
    Android 实现页面跳转并传递参数教程
    Android 学习笔记
    Android开发中,比较有特色的特性(与iOS相比)
    Android 中的概念大集合
    Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件
    Eclipse 常用快捷键
    android多设备界面适配的利器:属性weight的妙用
    Android 和 iOS 应用程序开发对比 [持续更新]
    eclipse 大括号 改为C语言风格
  • 原文地址:https://www.cnblogs.com/Congratulate/p/11008377.html
Copyright © 2011-2022 走看看