• Java中一些常用的方法


    1.计算程序运行时常

    long start = System.currentTimeMillis();
    
    …
    
    …
    
    …
    
    long end = System.currentTimeMillis();
    
    System.out.println("程序运行时常 : "+(end-start)+" ms");

    2.文件读写

        String fileName = "/home/test";//定义写文件路径
        FileWriter writer = null;//文件读写流
        public void write_To_File(){
            writer = new FileWriter(fileName, true);
            try {
                       writer.write("Hello World!");
                  } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
         }

    3.立flag

      设置布尔变量,用来在程序运行时对一些逻辑进行标记。其中false和true需要自己定义其含义。因此在设置flag的时,需要注意false以及true对应的含义。否则这些逻辑上的错误很难被检查出来。

        boolean flag = true;
        …
        …
        If()
        }
        …
        /* 根据程序运行逻辑进行对flag的修改 */
        else{
        
      }    

    4.使用HashMap

      声明myMap为HashMAp类型

    HashMap<String,String> myMap=new HashMap<String,String>();

      其中HashMap中的第一个参数,第二个参数为String

      可以使用HashMap来构造key,value一一对应的结构。

      例如:学号对应一个姓名

                

      

        则可以使用put来构造HashMap

    myMap.put("1","张三");
    
    myMap.put("2","李四");
    
    myMap.put("3","王五");
    
    myMap.put("4","赵六");

      可以使用get来查看key对应的value

    myMap.get("1");//会返回张三

    5.将excel的去重后内容放到list中

        String path = "/home/allNumber.csv";
        public static ArrayList<String> myList = new ArrayList<String>();//声明list, 内容为String类型
        public static void createList(String path) throws IOException{
        BufferedReader reader = new BufferedReader(new FileReader(new File(path)));
                String line = "";
                while((line=reader.readLine())!=null){//赋值并进行判断
                    if(!myListlist.contains(line )){//去重
                        myList.add(line );
                    }
                }
                reader.close();
        }

      首先声明文件读写流,传入参数path为文件路径;

      while循环体中需要判断是否已经到了文件的末尾,同时进行赋值操作;

      由于需要进行去重操作,只需要每次向myList中添加数据之前前进行判断该数据是否已经存在;

      记住最后要将文件的读写流关闭 reader.close();

    6.定时进行写文件

      使用静态方法

        public class test {    
            public static void executeFixedRate() throws IOException {
                ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
               /*
                * 参数1 new count() 表示运行的方法
                * 参数2 0 表示第一次调用等待 0ms 之后运行count中的run方法
                * 参数3 5000 表示之后每经过5000ms再次调用
                * 参数4 TimeUnit.MILLISECONDS 设置时间为毫秒
                */
                executor.scheduleAtFixedRate(new count(),0,5000,TimeUnit.MILLISECONDS);
            }
            static class count implements Runnable{
                
                private String fileName = "/home/test";
                private FileWriter writer = null;
                //设置日期格式
                private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                public void run(){//运行代码   
                    try {
                        writer = new FileWriter(fileName, true);
                        writer.write("Hello World"+df.format(new Date())+"
    ");
                        writer.flush();
                        
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }   
            }
        
            public static void main(String[] args) throws Exception {
                test.executeFixedRate();
            }
     }

    7.第二种定时写文件

      使用Timer类

        public class test {    
        
            private static void executeFixedRate() {
                Timer timmerTask = new Timer();
                Calendar calEnviron = Calendar.getInstance();
                // 每00:00:00 开始执行
                calEnviron.set(Calendar.HOUR_OF_DAY, 0);
                calEnviron.set(Calendar.MINUTE, 0);
                calEnviron.set(Calendar.SECOND, 0);
                
                // date制定间
                Date dateSetter = new Date();
                dateSetter = calEnviron.getTime();
                // nowDate前间
                Date nowDateSetter = new Date();
                // 所间差距现待触发间间隔
                long intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
                if (intervalEnviron < 0) {
                    calEnviron.add(Calendar.DAY_OF_MONTH, 1);
                    dateSetter = calEnviron.getTime();
                    intervalEnviron = dateSetter.getTime() - nowDateSetter.getTime();
                }
                 timmerTask.schedule(new count(), intervalEnviron, 1 * 1000 * 60 * 60 * 24);
            }
            static class count implements Runnable{
                
                private String fileName = "/home/test";
                private FileWriter writer = null;
                //设置日期格式
                private static DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                public void run(){//运行代码   
                    try {
                        writer = new FileWriter(fileName, true);
                        writer.write("Hello World"+df.format(new Date())+"
    ");
                        writer.flush();
                        
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }   
            }
            public static void main(String[] args) throws Exception {
                test.executeFixedRate();
            }
        }
  • 相关阅读:
    BadUSB 利用
    java 将函数作为参数传递
    odoo12 修行提升篇之 常用的高阶函数 (二)
    odoo12 修行提升篇之 异步定时任务 (一)
    odoo12 修行基础篇之 利用kanban做分析 点击跳转分析模型列表 (九)
    odoo12 修行基础篇之 kanban (八)
    odoo12 修行基础篇之 记录批处理 (七)
    odoo12 修行基础篇之 列表的筛选和分组 (六)
    odoo12 修行基础篇之 添加记录编码 (五)
    odoo12 修行基础篇之 添加工作流和操作记录 (四)
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/6011198.html
Copyright © 2020-2023  润新知