java 文件指针复位

 1 BufferedReader br = new BufferedReader(new InputStreamReader(
 2                 new FileInputStream("userremain.log")));
 3 String msg = null;
 4         String mail = null;
 5         String newDateString=null;    //用户激活后第day天的存留率,先得到那天的日期
 6         //要查看的某一天的新激活用户的存留率,先获得那天的所有的用户email
 7         while (true) {
 8             msg = br.readLine();
 9             if (msg == null) {
10                 break; // 为空文件或者是读到最后,跳出循环
11             }
12             if ("".equals(msg))
13                 continue;
14
15 //            System.out.println("createTime:" + dateString);
16             if (msg.contains("createTime:"+ dateString)) {
17                 mail = msg.split(" ")[0].split(":")[1];
18                 userSet.add(mail);
19             }
20         }
21
22 //用户激活后第day天的存留率,先得到那天的日期
23         newDateString=newDate(dateString, day);
24         //获得某一天新激活的用户在第day天的留存用户
25         while (true) {
26             System.out.println("1111111111111111");
27             msg = br.readLine();
28             if (msg == null) {
29                 break; // 为空文件或者是读到最后,跳出循环
30             }
31             if ("".equals(msg))
32                 continue;
33             System.out.println("222222222222222222222");
34             System.out.println(msg.contains("activeTime:" + newDateString));
35             if (msg.contains("activeTime:" + newDateString)) {
36                 mail = msg.split(" ")[0].split(":")[1];
37                 if(userSet.contains(mail)){
38                     userRemainSet.add(mail);
39                 }
40             }
41         }
42
43         br.close();

程序运行得不到预期的结果,就在里面加入了 1111111111111111111  22222222222222222222222

结果222222222222222根本没有输出来,突然想到了《UNIX环境高级编程 》中说过的文件定位

java 文件指针复位,布布扣,bubuko.com

时间: 2024-10-19 12:29:53

java 文件指针复位的相关文章

java文件读写操作

Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽象方法.子类应该分别实现他们. Java IO已经为我们提供了三个方便的Reader的实现类,FileReader,InputStreamReader和BufferedReader.其中最重要的类是InputStreamReader, 它是字节转换为字符的桥梁.你可以在构造器重指定编码的方式,如果不

Java 文件操作-RandomAccessFile

1. RandomAccessFile Java提供了一个可以对文件随机访问的操作,访问包括读和写操作.该类名为RandomAccessFile.该类的读写是基于指针的操作. 1)文件访问模式 RandomAccessFile在堆文件进行随机访问操作时有两个模式,分为只读模式(只读取文件数据),和读写模式(对文件数据进行读写). 在创建RandomAccessFile时,其提供的构造方法要求我们传入访问模式: RandomAccessFile(File file,String mode) Ran

Java-->多线程复制(文件指针)

--> 这里用到两种方法...其实也不算两种,就一点点不一样而已... ---> Test 测试类 package com.dragon.java.multithreadcopy; import java.io.File; import java.util.Scanner; /* * 利用多线程复制文件1 */ public class Test { public static void main(String[] args) { @SuppressWarnings("resourc

Java-->利用文件指针分割文件

--> 大体上和字节流分割的方式没什么区别,只是加入文件指针确定要开始分割的位置... package com.dragon.java.splitmp3; import java.io.File; import java.io.RandomAccessFile; import java.util.Scanner; public class Test { public static void main(String[] args) throws Exception { Scanner scanne

java文件处理工具类

import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.FileRea

java文件末尾追加内容的两种方式

java 开发中,偶尔会遇到在文件末尾对文件内容进行追加,实际上有多种方式可以实现,简单介绍两种: 一种是通过RandomAccessFile类实现,另一种是通过FileWriter类来实现. 实现方法很简单,没什么可多说的,直接看代码: 1 public static void main(String[] args) throws Exception { 2 File file=new File(filename); 3 RandomAccessFile raf=new RandomAcces

Java文件IO流的操作总结

流就是管道,向管道里面写数据用输出流.write 从管道里面读数据,用输入流.read 流,按照不同的维度有不同的分类,按照从流中每次读取数据单位不同,划分为字节流字符流 按照流-对应操作的角色的不同(是IO设备,还是其他流)是否能够直接向特定的IO设备如文件.网络.磁盘等,能够直接与这些进行读写的称之为节点流, 对节点流进一步封装的流,通过封装后的流来实现读写功能,处理流也被称为高级流 流和数组不一样,不能通过索引读写数据.在流中,你也不能像数组那样前后移动读取数据,除非使用RandomAcc

jsp声称的java文件位置

想找到JSP生成的字节码文件还是Java文件,这得看你加载Web应用是自己配置的Tomcat还是加载到Eclipse默认路径下:先说Eclipse默认路径下的吧,其路径为:你的eclipse存放工程的文件夹\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\要找的JSP页面对应工程名\org\apache\jsp如果是加载的Web应用就在Tomcat下,其路径为:磁盘:\apache-tomca

package-info.java文件详解

package-info.java文件详解 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 一.pacakge-info.java介绍 pacakge-info.java是一个Java文件,可以添加到任何的Java源码包中.pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释. pacakge-info.java文件中,唯一要求包含的内容是包的声明语句,比如: package com.ch.service; 二.包文档 在