zoukankan      html  css  js  c++  java
  • 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();
            }
        }
  • 相关阅读:
    awk中NF的使用
    mysql5.7 column cannot be null
    mysqldump的简单使用
    mysql 删表引出的问题
    centos6.6 下安装mysql5.7
    从高的角度看自动化测试
    java提示找不到或无法加载主类
    修改chrome插件
    jenkins修改时区
    Rest-assured 写日志到 log4j
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/6011198.html
Copyright © 2011-2022 走看看