程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> Java中一些常用的方法,Java常用方法

Java中一些常用的方法,Java常用方法

編輯:JAVA綜合教程

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一一對應的結構。

  例如:學號對應一個姓名

            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())+"\n");
                    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())+"\n");
                    writer.flush();
                    
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }   
        }
        public static void main(String[] args) throws Exception {
            test.executeFixedRate();
        }
    }

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved