BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream("userremain.log")));
String msg = null;
String mail = null;
String newDateString=null; //用户激活后第day天的存留率,先得到那天的日期
//要查看的某一天的新激活用户的存留率,先获得那天的所有的用户email
while (true) {
msg = br.readLine();
if (msg == null) {
break; // 为空文件或者是读到最后,跳出循环
}
if ("".equals(msg))
continue; // System.out.println("createTime:" + dateString);
if (msg.contains("createTime:"+ dateString)) {
mail = msg.split(" ")[0].split(":")[1];
userSet.add(mail);
}
} //用户激活后第day天的存留率,先得到那天的日期
newDateString=newDate(dateString, day);
//获得某一天新激活的用户在第day天的留存用户
while (true) {
System.out.println("1111111111111111");
msg = br.readLine();
if (msg == null) {
break; // 为空文件或者是读到最后,跳出循环
}
if ("".equals(msg))
continue;
System.out.println("222222222222222222222");
System.out.println(msg.contains("activeTime:" + newDateString));
if (msg.contains("activeTime:" + newDateString)) {
mail = msg.split(" ")[0].split(":")[1];
if(userSet.contains(mail)){
userRemainSet.add(mail);
}
}
} br.close();

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

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

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

  1. java文件处理 之 读写TXT(比之c++,重置文件头,int转string)

    一:c/c++ 处理文件的使用方法.详见博客 c++文件操作 二:java与c++的方便之处: (1) java在读取文件时.能够对字符流进行处理,又一次进行编码,如 InputStreamReade ...

  2. java 输入输出IO流 RandomAccessFile文件的任意文件指针位置地方来读写数据

    RandomAccessFile的介绍: RandomAccessFile是Java输入输出流体系中功能最丰富的文件内容访问类,它提供了众多的方法来访问文件内容,它既可以读取文件内容,也可以向文件输出 ...

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

    java 开发中,偶尔会遇到在文件末尾对文件内容进行追加,实际上有多种方式可以实现,简单介绍两种: 一种是通过RandomAccessFile类实现,另一种是通过FileWriter类来实现. 实现方 ...

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

    --> 这里用到两种方法...其实也不算两种,就一点点不一样而已... ---> Test 测试类 package com.dragon.java.multithreadcopy; imp ...

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

    --> 大体上和字节流分割的方式没什么区别,只是加入文件指针确定要开始分割的位置... package com.dragon.java.splitmp3; import java.io.File ...

  6. java文件处理工具类

    import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.BufferedRead ...

  7. java文件读写操作

    Java IO系统里读写文件使用Reader和Writer两个抽象类,Reader中read()和close()方法都是抽象方法.Writer中 write(),flush()和close()方法为抽 ...

  8. JAVA 文件编译执行与虚拟机(JVM)简单介绍

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytpo3 java程序的内存分配 JAVA 文件编译执行与虚拟机(JVM)介绍 ...

  9. Java文件IO流的操作总结

    Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...

随机推荐

  1. vue2.0 组件和v-model

    本文适合初学组件编写的同学阅读. 乍一看这个标题,可能会有疑问:v-model和组件也能扯到一起? 我打算写这篇文章的时候,也是这么想的.咱们按简历的那一套STAR法则来梳理一下这篇文章: 情景[Si ...

  2. thinkphp3.2验证码在服务器上显示不出来

    ThinPHP3.2 验证码 在本地服务器访问可以显示,上传到服务器就不能访问了 /**** * 验证码 */ function code() { $config=array( 'fontSize'= ...

  3. Linux命令详解-help

    help命令顾名思义就是显示帮助信息的,它是个Bash内建命令,也只是用来显示Bash内建命令的帮助信息的(Display  helpful  information about builtin co ...

  4. 解决点击tomcat的startup.bat一闪而过的问题

    问题: 点击startup.bat一闪而过,经过网上查询,原来是没有配置JAVA_HOME,配置一下就可以了 原因: tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与 ...

  5. torchnet+VGG16计算patch之间相似度

    torchnet+VGG16计算patch之间相似度 torch VGG16 similarity 本来打算使用VGG实现siamese CNN的,但是没想明白怎么使用torchnet对模型进行微调. ...

  6. Bitwise Equations

    Problem Description You are given two positive integers X and K. Return the K-th smallest positive i ...

  7. 一. Spring框架防XXS跨站攻击

    使用 Spring 框架进行 Java Web 开发,可以在 web.xml 文件中设置 HTML encode,在 JSP 文件页面元素 form 中确定实施. web.xml 加上: <co ...

  8. iOS多线程GCD详解

    在这之前,一直有个疑问就是:gcd的系统管理多线程的概念,如果你看到gcd管理多线程你肯定也有这样的疑问,就是:并发队列怎么回事,即是队列(先进先出)怎么会并发,本人郁闷了好久,才发现其实cgd管理多 ...

  9. react 拖拽排序---原生

    定义css, 两个动画 .drag-up { -webkit-animation: dragup ease 0.2s 1; animation: dragup ease 0.2s 1; -webkit ...

  10. 最新解决 Ubuntu16.04 和 win10 双系统时间同步问题 (设置为 UTC 时间)

    最近在电脑上安装了 Ubuntu16.04 和  Win10 双系统, 开机后发现电脑的开机系统出现了问题,不知道怎么搞的总是会出现8个小时的误差,在网上查了好多文章发现网上的大部分方法都是比较过时的 ...