专业游戏门户,分享手游网游单机游戏百科知识攻略!

嗨游网
嗨游网

java中如何读取文件?

来源:小嗨整编  作者:小嗨  发布时间:2024-03-20 08:36
摘要:读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和管道读取方式甚至非常快速的内存映射读取文件。java中四种读取文件方式:(推荐:java视频教程)1、randomaccessfile:随机读取,比较慢优点就是该类...

java中如何读取文件?

读取文件有多种方式,基于传统的输入流方式或基于nio的Buffer缓冲对象和管道读取方式甚至非常快速的内存映射读取文件。

java中四种读取文件方式:(推荐:java视频教程)

1、randomaccessfile:随机读取,比较慢优点就是该类可读可写可操作文件指针

2、FileInputStream:io普通输入流方式,速度效率一般

3、Buffer缓冲读取:基于nio Buffer和FileChannel读取,速度较快

4、内存映射读取:基于MappedByteBuffer,速度最快

RandomAccessFile读取

//RandomAccessFile类的核心在于其既能读又能写public void useRandomAccessFileTest() throws Exception {    RandomAccessFile randomAccessFile = new RandomAccessFile(new File("e:/nio/test.txt"), "r");    byte[] bytes = new byte[1024];    int len = 0;    while ((len = randomAccessFile.read(bytes)) != -1) {        System.out.println(new String(bytes, 0, len, "gbk"));    }    randomAccessFile.close();}
登录后复制

FielInputStream读取

//使用FileInputStream文件输入流,比较中规中矩的一种方式,传统阻塞IO操作。public void testFielInputStreamTest() throws Exception {    FileInputStream inputStream = new FileInputStream(new File("e:/nio/test.txt"));    // 使用输入流读取文件,以下代码块几乎就是模板代码    byte[] bytes = new byte[1024];    int len = 0;    while ((len = inputStream.read(bytes)) != -1) {// 如果有数据就一直读写,否则就退出循环体,关闭流资源。        System.out.println(new String(bytes, 0, len, "gbk"));    }    inputStream.close();}
登录后复制

Buffer缓冲对象读取

// nio 读取public void testBufferChannel() throws Exception {    FileInputStream inputStream = new FileInputStream(new File("e:/nio/test.txt"));    FileChannel fileChannel = inputStream.getChannel();    ByteBuffer buffer = ByteBuffer.allocate(1024);    // 以下代码也几乎是Buffer和Channle的标准读写操作。    while (true) {        buffer.clear();        int result = fileChannel.read(buffer);        buffer.flip();        if (result == -1) {            break;        }        System.out.println(new String(buffer.array(), 0, result, "gbk"));    }    inputStream.close();}
登录后复制

内存映射读取

public void testmappedByteBuffer() throws Exception {    FileInputStream inputStream = new FileInputStream(new File("e:/nio/test.txt"));    FileOutputStream outputStream = new FileOutputStream(new File("e:/nio/testcopy.txt"),true);    FileChannel inChannel = inputStream.getChannel();    FileChannel outChannel = outputStream.getChannel();    System.out.println(inChannel.size());    MappedByteBuffer mappedByteBuffer = inChannel.map(MapMode.READ_ONLY, 0, inChannel.size());    System.out.println(mappedByteBuffer.limit());    System.out.println(mappedByteBuffer.position());    mappedByteBuffer.flip();    outChannel.write(mappedByteBuffer);    outChannel.close();    inChannel.close();    outputStream.close();    inputStream.close();}//基于内存映射这种方式,这么写好像有问题。MappedByteBuffer和RandomAcessFile这两个类要单独重点研究一下。//TODO 大文件读取
登录后复制

更多java知识请关注java基础教程栏目。

以上就是java中如何读取文件?的详细内容,更多请关注易企推科技其它相关文章!


本文地址:网络百科频道 https://www.eeeoo.cn/wangluo/1151521.html,嗨游网一个专业手游免费下载攻略知识分享平台,本站部分内容来自网络分享,不对内容负责,如有涉及到您的权益,请联系我们删除,谢谢!


网络百科
小编:小嗨整编
相关文章相关阅读
  • 文件夹怎么设置密码(文件夹加密最简单的方法)?

    文件夹怎么设置密码(文件夹加密最简单的方法)?

    文件夹怎么设置密码(文件夹加密最简单的方法)?为了避免他人查看,为文件夹设置密码是一种简单有效的保护措施。本文将为您介绍一种最简单的文件夹加密方法,让您轻松实现文件夹的密码保护。文件夹怎么设置密码一、使用压缩软件加密文件夹1.在电脑上安装一...

  • 电脑如何设置密码锁屏(电脑如何设置密码的方法)?

    电脑如何设置密码锁屏(电脑如何设置密码的方法)?

    电脑如何设置密码锁屏(电脑如何设置密码的方法)?随着电脑在日常生活中的普及,个人信息的安全性越来越受到重视。设置密码锁屏是保护电脑隐私的有效方法。本文将为您详细介绍如何在电脑上设置密码锁屏,帮助您轻松实现电脑安全防护。一、Windows系统...

  • 360皮肤中心如何关闭(360皮肤中心怎样删除)?

    360皮肤中心如何关闭(360皮肤中心怎样删除)?

    360皮肤中心如何关闭(360皮肤中心怎样删除)?360皮肤中心是360公司推出的一款电脑软件,用户可以通过它来更改电脑桌面图标、界面风格等,从而实现个性化设置。然而,有些用户可能觉得360皮肤中心的使用体验不佳,想要关闭或删除它。360皮...

  • dnf插件放哪个文件夹(dnf插件补丁怎么用)?

    dnf插件放哪个文件夹(dnf插件补丁怎么用)?

    dnf插件放哪个文件夹(dnf插件补丁怎么用)?dnf的插件或补丁通常需要放置在特定的文件夹中才能正常使用。以下是关于插件补丁的存放位置及使用方法的详细介绍:dnf插件放哪个文件夹找到DNF的游戏安装目录。通常情况下,这个目录可以在游戏的快...

  • javascript教程网(javascript教程推荐)

    javascript教程网(javascript教程推荐)

    javascript教程网(javascript教程推荐)JavaScript作为一种广泛应用于网页开发的技术,已经成为前端开发不可或缺的一部分。对于刚接触编程的菜鸟来说,选择一份合适的JavaScript教程至关重要。本文将为您推荐几款优...

  • 百度app下载的视频在哪个文件夹(百度app下载文件存储位置)?

    百度app下载的视频在哪个文件夹(百度app下载文件存储位置)?

    百度app下载的视频在哪个文件夹(百度app下载文件存储位置)?随着智能手机的普及,各种应用程序成为我们日常生活中不可或缺的一部分。百度App作为一款功能强大的搜索引擎,不仅能够搜索到丰富的信息,还能下载视频供用户离线观看。百度app下载的...

  • 密码本忘记密码怎么开锁(密码本忘记密码如何打开)?

    密码本忘记密码怎么开锁(密码本忘记密码如何打开)?

    密码本忘记密码怎么开锁(密码本忘记密码如何打开)?随着信息安全意识的提高,越来越多的人开始使用密码本来记录重要的账号和密码。然而,忘记密码本密码的情况也时有发生。本文将为您介绍几种忘记密码本密码时的开锁方法。密码本忘记密码怎么开锁1.按照提...

  • ios16描述文件下载链接(ios16描述文件在哪)?

    ios16描述文件下载链接(ios16描述文件在哪)?

    ios16描述文件下载链接(ios16描述文件在哪)?标题:iOS16描述文件下载链接分享:轻松升级体验新系统导语:苹果公司推出的iOS16系统受到了广泛关注,许多用户都期待着体验这一全新的操作系统。本文将为您提供iOS16描述文件的下载链...

  • 周排行
  • 月排行
  • 年排行

精彩推荐