
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
昆明IT培训的老师今天给大家讲一些常用的方法
1.计算程序运行时常
longstart =System.currentTimeMillis();… … …longend =System.currentTimeMillis(); System.out.println("程序运行时常: "+(end-start)+" ms");
String fileName = "/home/test";//定义写文件路径FileWriter writer =null;//文件读写流publicvoidwrite_To_File(){ writer=newFileWriter(fileName,true);try{ writer.write("Hello World!"); }catch(IOException e) {//TODO Auto-generated catch blocke.printStackTrace(); } }
3.立flag
设置布尔变量,用来在程序运行时对一些逻辑进行标记。其中false和true需要自己定义其含义。因此在设置flag的时,需要注意false以及true对应的含义。否则这些逻辑上的错误很难被检查出来。
复制代码
booleanflag =true;… …If() }…/*根据程序运行逻辑进行对flag的修改*/else{ }
复制代码
4.使用HashMap
声明myMap为HashMAp类型
HashMap<String,String> myMap=newHashMap<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";publicstaticArrayList<String> myList =newArrayList<String>();//声明list,内容为String类型publicstaticvoidcreateList(String path)throwsIOException{
BufferedReader reader=newBufferedRead
er(newFileReader(newFile(path))); String
line= "";while((line=reader.readLine())!=null){//赋值并进行判断if(!myListlist.contains(line )){//去重myList.add(line ); } } reader.close(); }
首先声明文件读写流,传入参数path为文件路径;
while循环体中需要判断是否已经到了文件的末尾,同时进行赋值操作;
由于需要进行去重操作,只需要每次向myList中添加数据之前前进行判断该数据是否已经存在;
记住最后要将文件的读写流关闭reader.close();
6.定时进行写文件
使用静态方法
publicclasstest {publicstaticvoidexecuteFixedRate()throwsIOException { ScheduledExecutorService executor= Executors.newScheduledThreadPool(1);/**参数1 new count()表示运行的方法*参数2 0表示第一次调用等待0ms之后运行count中的run方法*参数3 5000表示之后每经过5000ms再次调用*参数4 TimeUnit.MILLISECONDS
设置时间为毫秒
*/executor.scheduleAtFixedRate(newcount(),0,5000,TimeUnit.MILLISECONDS); }staticclasscountimplementsRunnable{privateString fileName = "/home/test";privateFileWriter writer =null;//设置日期格式privatestaticDateFormat df
=newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");publicvoidrun(){//
运行代码try{ writer=newFileWriter(fileName,true); writer.write("Hello World"+df.format(newDate())+"\n"); writer.flush(); }catch(IOException e)
{//TODO Auto-generated catch blocke.printStackTrace(); } } }publicstaticvoidmain(String[] args)throwsException { test.executeFixedRate(); } }
复制代码
7.第二种定时写文件
使用Timer类
复制代码
publicclasstest
{privatestaticvoidexecuteFixedRate() { Timer timmerTask=newTimer(); 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 =newDate(); dateSetter=calEnviron.getTime();//nowDate前间Date owDateSetter =newDate();//所间差距现待触发间间隔longintervalEnviron = dateSetter.getTime() -nowDateSetter.getTime();if(intervalEnviron < 0) {
calEnviron.add(Calendar.DAY_OF_MONTH,1); dateSetter=calEnviron.getTime(); intervalEnviron= dateSetter.getTime() -nowDateSetter.getTime();
}timmerTask.schedule(newcount(), intervalEnviron, 1 * 1000 * 60 * 60 * 24); }staticclasscountimplementsRunnable{privateString fileName = "/home/test";privateFileWriter writer =null;//设置日期格式privatestaticDateFormat
df =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");publicvoidrun(){/
/运行代码try{ writer=newFileWriter(fileName,true); writer.write("Hello
World"+df.format(newDate())+"\n"); writer.flush(); }catch(IOException e) {//TODO Auto-generated catch blocke.printStackTrace(); } } }publicstaticvoidmain(String[] args)throwsException { test.executeFixedRate(); } }