网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  jdk:java读文件的一点见解     
  文章作者:未知  文章来源:水木森林  
  查看:91次  录入:管理员--2007-11-17  
      做开发的经常碰到文件的操作,特别是文件的“读”操作。在java中,读文件有很多种方法,有filereader、bufferreader等,当然,各种方法的效率是不一样的,filereader经bufferreader包装后效率明显提高,在个别时候,我们可以用java.nio包进行文件操作,如下:
    private static string filereader(file filename) {
        string filecontent = null;
        fileinputstream fis = null;
        filechannel fc = null;
        try {
            fis = new fileinputstream(filename);
            // get a file channel
            fc = fis.getchannel();

            // create a bytebuffer that is large enough
            // and read the contents of the file into it
            // test
            // system.out.println(fc.size());
            bytebuffer bb = bytebuffer.allocate((int) fc.size() + 1);

            fc.read(bb);
            bb.flip();

            // save the content of the file as a string
            // if we want to change the encode
            // we can directly add a second parameter here
            // which is of course more efficent

            // system.out.println(bb.capacity());
            filecontent = new string(bb.array());

        } catch (exception e) {
            e.printstacktrace();
        } finally {
            //    release the filechannel
            try {
                fc.close();
            } catch (exception ex) {

            }
            try {
                fis.close();
            } catch (exception ex) {

            }
        }

        // write out the contents of this file
        return filecontent;

    }
使用这种方法有个致命的弱点,当所读文件较大时,将消耗大量内存,甚至发生outofmemory error,而当文件较小时,使用该方法的效率就明显高得多。

另外,欢迎大家到我的blog,更多经典文章等你来看http://blog.csdn.net/hdy007/ 
 
 
上一篇: 超级简单的sqlmap工具(ajf sql map)    下一篇: log4j在jbuilderx中的配置
  相关文档
java 应用程序的发布 11-17
ejb 最佳实践--工业强度的 jndi 优化 01-28
用eclipse+myeclipse+tomcat的环境配置 11-16
java开发的邮件发送程序 11-16
web程序从struts向stripes框架的移植 11-17
java高手论道:你还在用if else吗? 11-16
jbuilderx+jboss 3.x 编写发布cmp的步骤 11-17
java servlet和jsp教程(2) 11-17
为什么java中继承是有害的一 11-16
eclipse 3.1中用注释单元测试框架(图) 11-17
eclipse入门之使用指南及开发eclipse插件(1) 11-17
jsp教程--application 的应用 11-17
javaants-1.0(网络蚂蚁java版) 11-17
getobject 函数 11-16
java 的md5加密算法源代码 11-17
创建 jsf web 项目和页面模板(4) 11-17
一个文本上传bean的例子 11-17
string 对象 11-16
[java100例]052、使用odbc连接数据库 11-17
linux 是java、xml和corba的最佳协同搭建平台 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息