在项目中经常会用到定时器,在笔试或者面试中也会经常问到定时器和IO流。

  1. public class TimerDemo {
  2. public static void main(String[] args) throws Exception {
  3.  
  4. Calendar date = Calendar.getInstance();
  5. //设置固定开始时间为 00:00:00
  6. date.set(date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DATE), 0, 0, 0);
  7. long daymin = 5000;//5秒
  8. long daySpan = 24 * 60 * 60 * 1000;//一天的秒数,使用这个秒数就能在某天的固定时刻触发定时器
  9. //得到定时器实例
  10. Timer time = new Timer();
  11. time.schedule(new TimerTask() {
  12. public void run() {
  13. //run中填写定时器主要执行的代码块
  14. //打印当前时间
  15. SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
  16. String date1 = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
  17. System.err.println(date1);
  18. System.out.println("定时器执行..");
  19. //1,字符流读取文件
  20. try {
  21. FileReader fr = new FileReader("E:\\demo.txt");
  22. BufferedReader br = new BufferedReader(fr);
  23. StringBuilder strb = new StringBuilder();
  24. while (true) {
  25. String line = null;
  26. try {
  27. line = br.readLine();
  28. } catch (IOException e) {
  29. e.printStackTrace();
  30. }
  31. if (line == null) {
  32. break;
  33. }
  34. strb.append(line);
  35. String result = strb.toString();
  36. System.err.println(result);
  37. }
  38.  
  39. } catch (FileNotFoundException e) {
  40. e.printStackTrace();
  41. }
  42. //2,字节流读取文件
  43. FileInputStream fis = null;
  44. try {
  45. fis = new FileInputStream("E:\\demo1.txt");
  46. } catch (FileNotFoundException e1) {
  47. e1.printStackTrace();
  48. }
  49. byte[] b = new byte[1024];
  50. int len = 0;
  51. try {
  52. while((len=fis.read(b))!=-1){
  53. System.out.println(new String(b, 0, len));
  54. }
  55. } catch (IOException e) {
  56. e.printStackTrace();
  57. }
  58. }
  59. }, date.getTime(), daymin); //date.getTime()为上面赋值的00:00:00,daymin是执行间隔
  60.   };
  61. }

这里主要的代码块为:

Timer time = new Timer();
time.schedule(new TimerTask() {
  public void run() {
  //run中填写定时器主要执行的代码块
  }, date.getTime(), daymin); //date.getTime(),为开始时间,这里获取的是上面赋值的时间;daymin为时间间隔
};

run方法中写入自己的代码,我这里主要是用两种方法实现对文件的读取。

控制台打印如上,可以看到每5秒执行一次。

  

java定时读取文件的更多相关文章

  1. Java中读取文件

    Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...

  2. JAVA本地读取文件,解决中文乱码问题

    JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录 import java.io.BufferedInputStream;import java.io.BufferedReader;imp ...

  3. Java代码读取文件

    用Java代码读取文件时,保持文件本来的格式(主要是保持换行),这点有时候比较重要.用代码实现也相当简单. private static void readFile() { StringBuilder ...

  4. Java实现读取文件

    目录 Java实现读取文件 1.按字节读取文件内容 使用场景 2.按字符读取文件内容 使用场景 3.按行读取文件内容 使用场景 4.随机读取文件内容 使用场景 Java实现读取文件 1.按字节读取文件 ...

  5. Java 实例 - 读取文件内容

    原文作者:菜鸟教程 原文链接:Java 实例 - 读取文件内容(建议前往原文以获得最佳体验) 按行读取文本文件 import java.io.*; public class Main { public ...

  6. Java方法读取文件内容

    一.针对文件内容的读取,在平时的工作中想必是避免不了的操作,现在我将自己如何用java方法读取文件中内容总结如下:废话不多说,直接上代码: 1 public static void main(Stri ...

  7. Java将文件中的内容转换为sql语句(和并发定时读取文件)

    数据文件内容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11 ...

  8. java实现读取文件内容(不同类型)

    在一些项目中大量的数据经常需要从文件中读取,例如xml文件,txt文件,csv文件 1.读取本地的xml文件,需要注意对应的路径 //读取xml文件,xmlFile为读取文件的路径 DocumentB ...

  9. java中读取文件以及向文件中追加数据的总结

    package gys; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; imp ...

随机推荐

  1. Vue 变化检测问题

    受现代Javascript的限制,Vue不能检测到对象属性的添加和删除,因为Vue在初始化时将属性转为getter/setter,所以属性必须在data对象上才能让Vue转换它,Vue不允许在已经创建 ...

  2. B - Sea and Islands

    Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description A map ...

  3. ASP.NET Core MVC 2.x 全面教程_汇总贴

    Reshaper快捷键盘 快速生成属性:prop Ctrl+. ASP.NET Core MVC 2.x 全面教程:https://www.bilibili.com/video/av38392956 ...

  4. python3 封装之property 多态 绑定方法classmethod 与 非绑定方法 staticmethod

    property 特性 什么是特性property property 是一种特殊的属性,访问它时会执行一段功能(函数),然后返回值 例如 BMI指数(bmi是计算而来的,但很明显它听起来像是一个属性而 ...

  5. 将字符串中的字符按Z字形排列,按行输出

    示例1: Input: s = "PAYPALISHIRING", numRows = 3 Output: "PAHNAPLSIIGYIR" 示例2: Pyth ...

  6. 535. Encode and Decode TinyURL(rand and srand)

    Note: This is a companion problem to the System Design problem: Design TinyURL. TinyURL is a URL sho ...

  7. 如何有效提升Unity Gear VR游戏性能

    http://www.vr186.com/vr_news/vr_technical_area/1093.html 好的,所以你决定用 Unity 来做一个 VR 游戏,并选定了三星 Gear vr 为 ...

  8. Unity3D研究院之IOS Android支持中文与本地文件的读取写

       前几天有个朋友问我为什么在IOS平台中可以正常的读写文件可是在Android平台中就无法正常的读写.当时因为在上班所以我没时间来帮他解决,晚上回家后我就拿起安卓手机真机调试很快就定位问题所在,原 ...

  9. [Xcode 实际操作]八、网络与多线程-(5)使用UIApplication对象发送邮件

    目录:[Swift]Xcode实际操作 本文将演示如何使用应用程序单例对象,发送邮件的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 注:需要使用真机进行测 ...

  10. [Xcode 实际操作]九、实用进阶-(20)创建位移关键帧动画:通过添加运动关键点制作位移动画

    目录:[Swift]Xcode实际操作 本文将演示如何通过添加运动关键点的方式,来制作位移动画 在项目导航区,打开视图控制器的代码文件[ViewController.swift] import UIK ...