`

【转】Java:文件操作:java中如何判断一个文件是否已读完?

    博客分类:
  • java
阅读更多
转自http://nancyjhsueh.blog.hexun.com/30731901_d.html
1,
import   java.io.*;  
   
  BufferedReader   br   =   new   BufferedReader(new   FileReader("tt.txt"));  
  String   content   =   "";  
  String   str   =   br.readLine();  
  while(str   !=   null)   {  
      content   =   content   +   str   +   "\n";  
      str   =   br.readLine();  
  }  
   
  System.out.println(content);  


2,
使用文件通道,既快又准  
  RandomAccessFile   f   =   new   RandomAccessFile   (filename,"r");  
  FileChannel   fc   =   f.getChannel();  
  fb   =   ByteBuffer.allocateDirect((int)fc.size());  
  while(true){  
      int   ret   =   fc.read(fb);  
      if   (ret   ==   -1)   break;  
      fb.flip();//将缓存的读取位置置为开始  
  }  
   
  这时候用int   BufSize   =   (int)TtC.size();就可以得到你的文件长度,单位是byte  
  fb[BufSize-1];就是你的文件末尾  
  用完以后用fb.clear();清空,用f.close();关闭文件  
  总之,用这种方式读取文件可以非常灵活,能够通过对byte基本类型的转换实现任意转码,而且速度令人非常满意。

3,
  import   java.io.*;  
   
  ........  
  RandomAccessFile   rFile=new   RandomAccessFile(logFile,"rwd");  
  while(rFile.getFilePointer()<rFile.length()){  
  .....................  
  }  
   
  //END  
  rFile.getFilePointer()返回当前操作指针位置,rFile.length()返回文件长度
分享到:
评论

相关推荐

    java实现文件的读写操作

    java实现文件读写操作,小例子,供大家参考

    JAVA上百实例源码以及开源项目

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包---java 源码 大量 实例

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    Java读存二进制大文件块

    摘要:Java源码,文件操作,读取文件,二进制 Java读存大块二进制资料文件,java.io 包中提供了BufferedInputStream 和BufferedOutputStream 类来缓存的读写流。但是读写大块的数据文件时,使用这两个类的效果并不是很好...

    java源码包2

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包4

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    java源码包3

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    JAVA上百实例源码以及开源项目源代码

     Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来模拟银行ATM机的流程及操作:获取系统属性,初始化JNDI,取得Home对象的引用,创建EJB对象,并将当前的计数器初始化,调用每一个EJB...

    java面试题

    答:Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式允许其service方法,一个实例可以服务于多个请求,并且其实例一般不会被销毁,而CGI对每个请求都产生新的进程,服务完后就销毁,所以效率上...

    Java仿Windows 窗口化复制文件功能.rar

    Java仿Windows 窗口化复制文件功能, ...=-1){ //如果文件未读完   fout.write(bytes,0,c); //将读取的字节数组写入目标文件输出流中   }   fin.close(); //关闭输入流   fout.close(); //关闭输出流

    Java Zip算法压缩多个文件的例子.rar

    Java Zip算法压缩多个文件的例子,具体的实现原理是:先打开文件并读取,然后利用ZipEntry实例化待压缩的条目列表,将ZIP条目列表写入输出流,从源文件得到文件输入流,写入缓冲数据等。相关代码:  ...

    Java压缩带有中文名的文件.rar

    Java压缩中文名的文件,大家都知道Java处理英文名的文件很强大,但是处理起中文名那可是比较麻烦了,需要经过很多步骤,这个例子可以告诉你如何简易的处理中文文件名的文件,以压缩中文文件名的文件为例。...

    Java学习安卓客户端

    3、Java文件操作、多线程、网络编程等高级应用 4、Java Web、Java EE、数据库等Java企业开发技术 5、Java Ajax、Java面试真题等最新内容 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面...

    java简单练习(初学篇)

    4. 回文整数是指正读和反读相同的整数,编写一个程序,输入一个整数,判断它是否为回文整数。程序文件命名为Exe2_4.java。 5. 草地上有一堆野果,有一只猴子每天吃掉这堆野果的一半又多一个,5天后刚好吃完。求这堆...

    Java学习(apk)

    3、Java文件操作、多线程、网络编程等高级应用 4、Java Web、Java EE、数据库等Java企业开发技术 5、Java Ajax、Java面试真题等最新内容 无论您是在校大学生,还是职业学员,或者Java开发人员,本书都志在全面...

    java基础入门教程

    建 立一 个 "Java 开 发 中 心 ",在 新 竹 建 立 一 个 "Java语 言实 验 室 ", 以 掀起 台 湾 开 发 与 应 用 Java 语 言 的 热 潮 。 香 港 则 在 今 年 4月 就 举 行 了 全 岛 的 Java杯 比 赛 ,在 计 算 机界掀...

Global site tag (gtag.js) - Google Analytics