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. shell 输入不显示在监视器上

    #!/bin/bash read -s -p "Enter your password:" pass echo "your password is $pass" ...

  2. SpringBoot创建多模块方式以及打包方式

    springboot重构多模块的步骤 模型层:model 持久层:persistence 表示层:web 步骤: 正常创建一个springboot项目 修改创建项目的pom文件,将jar修改为pom ...

  3. JavaScript--练习1--99乘法表

    JavaScript--练习1--99乘法表 一.心得 二.代码 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" &quo ...

  4. 大白菜的装机U盘真不错

    今天用大白菜制作了个启动U盘,然后在里面,把[电脑公司]的ghost文件拷贝进去. 重新安装WinXP成功. 注意: 1)直接用[电脑公司]的ISO文件,用Win32DiskImage写到U盘,不知为 ...

  5. III USP Freshmen ContestH. MaratonIME gets candies

    这题挺有意思的,刚开始不会这交互题,模仿着做了一题就会了,蛮简单 的 这题我用2分,结果wa了,想了一下发现,1到1e9二分50次完全不够用啊,那就转换一下思维,先求出在10^n~10^(n+1)的n ...

  6. hdu4280网络流之dinic

    这题就是个模板题,不过我是第一次写dinic,好久没用链式前向星又不会了... 时间:9126ms #include<map> #include<set> #include&l ...

  7. java通过文件头来判断文件类型

    import java.io.FileInputStream; import java.io.IOException; import java.util.HashMap; import java.ut ...

  8. JS之Iterations

    for in.for of.for each in 1.for in:用于遍历数组或者对象的属性(对数组或者对象的属性进行循环操作),for ... in 循环中的代码每执行一次,就会对数组的元素或者 ...

  9. Android 遍历全国的地区二(获取天气)

    根据上次的内容 1. 界面布局 weather_layout.xml <LinearLayout xmlns:android="http://schemas.android.com/a ...

  10. Xilinx Microblaze Bootloader

    作者:Hello,Panda 一般而言,Xilinx Microblaze会被用来在系统中做一些控制类和简单接口的辅助性工作,比如运行IIC.SPI.UART之类的低速接口驱动,对FPGA逻辑功能模块 ...