java定时读取文件
在项目中经常会用到定时器,在笔试或者面试中也会经常问到定时器和IO流。
public class TimerDemo {
public static void main(String[] args) throws Exception {
Calendar date = Calendar.getInstance();
//设置固定开始时间为 00:00:00
date.set(date.get(Calendar.YEAR), date.get(Calendar.MONTH), date.get(Calendar.DATE), 0, 0, 0);
long daymin = 5000;//5秒
long daySpan = 24 * 60 * 60 * 1000;//一天的秒数,使用这个秒数就能在某天的固定时刻触发定时器
//得到定时器实例
Timer time = new Timer();
time.schedule(new TimerTask() {
public void run() {
//run中填写定时器主要执行的代码块
//打印当前时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
String date1 = df.format(new Date());// new Date()为获取当前系统时间,也可使用当前时间戳
System.err.println(date1);
System.out.println("定时器执行..");
//1,字符流读取文件
try {
FileReader fr = new FileReader("E:\\demo.txt");
BufferedReader br = new BufferedReader(fr);
StringBuilder strb = new StringBuilder();
while (true) {
String line = null;
try {
line = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
if (line == null) {
break;
}
strb.append(line);
String result = strb.toString();
System.err.println(result);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
//2,字节流读取文件
FileInputStream fis = null;
try {
fis = new FileInputStream("E:\\demo1.txt");
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}
byte[] b = new byte[1024];
int len = 0;
try {
while((len=fis.read(b))!=-1){
System.out.println(new String(b, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
}
}
}, date.getTime(), daymin); //date.getTime()为上面赋值的00:00:00,daymin是执行间隔
};
}
这里主要的代码块为:
Timer time = new Timer();
time.schedule(new TimerTask() {
public void run() {
//run中填写定时器主要执行的代码块
}, date.getTime(), daymin); //date.getTime(),为开始时间,这里获取的是上面赋值的时间;daymin为时间间隔
};
run方法中写入自己的代码,我这里主要是用两种方法实现对文件的读取。

控制台打印如上,可以看到每5秒执行一次。
java定时读取文件的更多相关文章
- Java中读取文件
Java中读取文件,去除一些分隔符,保存在多维数组里面 public void readFile(String filePath) { File file=new File(filePath); Ar ...
- JAVA本地读取文件,解决中文乱码问题
JAVA本地读取文件出现中文乱码,查阅一个大神的博客做一下记录 import java.io.BufferedInputStream;import java.io.BufferedReader;imp ...
- Java代码读取文件
用Java代码读取文件时,保持文件本来的格式(主要是保持换行),这点有时候比较重要.用代码实现也相当简单. private static void readFile() { StringBuilder ...
- Java实现读取文件
目录 Java实现读取文件 1.按字节读取文件内容 使用场景 2.按字符读取文件内容 使用场景 3.按行读取文件内容 使用场景 4.随机读取文件内容 使用场景 Java实现读取文件 1.按字节读取文件 ...
- Java 实例 - 读取文件内容
原文作者:菜鸟教程 原文链接:Java 实例 - 读取文件内容(建议前往原文以获得最佳体验) 按行读取文本文件 import java.io.*; public class Main { public ...
- Java方法读取文件内容
一.针对文件内容的读取,在平时的工作中想必是避免不了的操作,现在我将自己如何用java方法读取文件中内容总结如下:废话不多说,直接上代码: 1 public static void main(Stri ...
- Java将文件中的内容转换为sql语句(和并发定时读取文件)
数据文件内容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11 ...
- java实现读取文件内容(不同类型)
在一些项目中大量的数据经常需要从文件中读取,例如xml文件,txt文件,csv文件 1.读取本地的xml文件,需要注意对应的路径 //读取xml文件,xmlFile为读取文件的路径 DocumentB ...
- java中读取文件以及向文件中追加数据的总结
package gys; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; imp ...
随机推荐
- Opencv— — kaleidoscope Filter
// define head function #ifndef PS_ALGORITHM_H_INCLUDED #define PS_ALGORITHM_H_INCLUDED #include < ...
- Batch Normalization层
Batch Normalization的加速作用体现在两个方面:一是归一化了每层和每维度的scale,所以可以整体使用一个较高的学习率,而不必像以前那样迁就小scale的维度:二是归一化后使得更多的权 ...
- 洛谷 P4245 [模板]任意模数NTT —— 三模数NTT / 拆系数FFT(MTT)
题目:https://www.luogu.org/problemnew/show/P4245 用三模数NTT做,需要注意时间和细节: 注意各种地方要取模!传入 upt() 里面的数一定要不超过2倍 m ...
- poi word 转html (.DOC .DOCX )
注:不支持图片,支持表格 package com.bjhy.platform.report.commons; import java.io.BufferedWriter; import java.io ...
- 阿里云CDNapi
#!/usr/bin/env python from aliyunsdkcore import client import json from aliyunsdkcdn.request.v201411 ...
- python读写mysql总结
一.MySQLdb包的安装 1. 在win环境下,下载MySQL-python-1.2.3,有两种方式: (1) 下载src源码.tar.gz(这个源码需要build编译再安装.egg包(当于.jar ...
- IP地址库解析——读取IP地址获得实际地理位置信息的java源码实现
说明:IP地址库来自QQwry.dat数据库文件,通过解析地址库当中的ip,已经细化最后获取的信息:获取ip地址对应的:国家 / 省 / 市 / 运营商ISP信息. 解析主要用到三个类: (1) IP ...
- POJ - 3253 Fence Repair 优先队列+贪心
Fence Repair Farmer John wants to repair a small length of the fence around the pasture. He measures ...
- 区间sum 和为k的连续区间-前缀和
区间sum 描述 有一个长度为n的正整数序列a1--an,candy想知道任意区间[L,R]的和,你能告诉他吗? 输入 第一行一个正整数n(0<n<=1e6),第二行为长度为n的正整数序列 ...
- BZOJ开荒记
2019/4/16 1:04 使用Yinku2017提交了第一发,当然是A+B Problem. 看一下排行榜,算一下区域赛还有180多天吧?先用30天过50道题(含A+B Problem)怎么样?