static int size=1;//主要是为了控制循环的次数,因为是定时刷,每次刷的文件行数可能不一样
static long chars=0;//chars指的是字符数
/*** 读取文件内容
*@paramfileName*/
publicMap readANDwrite(String fileName) {//大集合,以sessionid为键,以一次session的所有访问记录list为值进行存储
Map bigMap = newHashMap();//一次session的访问记录集合
File file = newFile(fileName);//java提供的一个可以分页读取文件的类,此类的实例支持对随机访问文件的读取和写入
RandomAccessFile rf = null;
String tempString= null;try{//初始化RandomAccessFile,参数一个为文件路径,一个为权限设置,这点与Linux类似,r为读,w为写
rf = new RandomAccessFile(fileName, "rw");//设置到此文件开头测量到的文件指针偏移量,在该位置发生下一个读取或写入操作
rf.seek(chars);//获取文件的行数
int fileSize =getTotalLines(file);for (int i = size-1; i < fileSize; i++) {//从上一次读取结束时的文件行数到本次读取文件时的总行数中间的这个差数就是循环次数//一行一行读取
tempString =rf.readLine();//文件中文乱码处理
tempStri