java 读取文件新增内容。 例如 test.txt初始格式如下 aaaa bbbb cccc 十秒后变成 aaaa bbbb cccc dddd为了提高效率现只读取新增的那条数据 如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 tail -f -n 10 /test.txt 可以用LineNumberReader来读指定的行。一开始lz肯定不知道新增了多少行,可以用LineNumberReader来知道原来的行数和新增后的行数,这样一来就知道新增了多少行。然后读取指定的那几行。 上次读完后、记录一下位置、下次使用skip方法直接跳过。 lineNumberReader 的setLineNumber不知道何用 setLineNumber(3) 读取文件也是从首行开始读的,读完文件后getLineNumber会比文件的总行数多三。 用RandomAccessFile,直接直接seek到指定的位置其实使用FileInputStream也是可以的,因为里面的skip方法是native方法,可以直接定位文件位置的 ZK的实现代码 读取LOG文件内容新增会只读新增部分。List logList =new ArrayList();java.io.File f = new java.io.File("D://ZKworkspace//ReadFile//test.txt");java.io.RandomAccessFile raf = new java.io.RandomAccessFile(f,"r");long lastSeek = 0;ListModel strset = new SimpleListModel(logList);void ReadFile() throws java.io.IOException{ List arrayList = new ArrayList(); String str = null; raf.seek(lastSeek); while((str = raf.readLine())!=null){ arrayList.add(str); } lastSeek = raf.length(); logList.addAll(arrayList); ListModel strset1 = new SimpleListModel(logList); list.model=strset1;} public class RandomAccess { static java.io.File f = new java.io.File("E:/工作/桌面/r.txt"); static long lastSeek = 0; public static void main(String[] args) throws Throwable { ReadFile(); //等待 10 S 后再读取新增的内容 Thread.sleep(10000); ReadFile(); } static void ReadFile() throws java.io.IOException { java.io.RandomAccessFile raf = new java.io.RandomAccessFile(f, "r"); String str = null; raf.seek(lastSeek); while ((str = raf.readLine()) != null) { System.out.println(str); } lastSeek = raf.length(); }} Java文件生成.h文件 找不到类。。 java国际化的问题 java能否控制桌面,限制软件使用,以及限制登陆网页 一大把基础问题 java socket多线程的问题,急,在线等 如何在java里面直接调用jar包 请教!JAVA帮助文档在那? java读入文件之后打印输出,怎么输出源文件的行号??? JCreator Pro3.0的使用方法。高分求助,不胜感激。。。热泪盈眶。在线等。 高薪诚聘Java兼职教师(英文/中文),每周8课时,地点在天津。联系邮件:[email protected] 关于鼠标移动的侦听 利用正则表达式去掉html标签,但是保留图片的标签,同时替换图片的路径和名字
一开始lz肯定不知道新增了多少行,可以用LineNumberReader来知道原来的行数和新增后的行数,
这样一来就知道新增了多少行。
然后读取指定的那几行。
lineNumberReader 的setLineNumber不知道何用 setLineNumber(3) 读取文件也是从首行开始读的,读完文件后getLineNumber会比文件的总行数多三。
List logList =new ArrayList();
java.io.File f = new java.io.File("D://ZKworkspace//ReadFile//test.txt");
java.io.RandomAccessFile raf = new java.io.RandomAccessFile(f,"r");long lastSeek = 0;
ListModel strset = new SimpleListModel(logList);void ReadFile() throws java.io.IOException{
List arrayList = new ArrayList();
String str = null;
raf.seek(lastSeek);
while((str = raf.readLine())!=null){
arrayList.add(str);
}
lastSeek = raf.length();
logList.addAll(arrayList);
ListModel strset1 = new SimpleListModel(logList);
list.model=strset1;
}
public class RandomAccess {
static java.io.File f = new java.io.File("E:/工作/桌面/r.txt");
static long lastSeek = 0; public static void main(String[] args) throws Throwable {
ReadFile();
//等待 10 S 后再读取新增的内容
Thread.sleep(10000);
ReadFile();
} static void ReadFile() throws java.io.IOException {
java.io.RandomAccessFile raf = new java.io.RandomAccessFile(f, "r");
String str = null;
raf.seek(lastSeek);
while ((str = raf.readLine()) != null) {
System.out.println(str);
}
lastSeek = raf.length();
}}