返回顶部
首页 > 资讯 > 精选 >Java文件读取的方法有哪些
  • 658
分享到

Java文件读取的方法有哪些

2023-07-06 03:07:50 658人浏览 八月长安
摘要

今天小编给大家分享一下Java文件读取的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。BufferedReader

今天小编给大家分享一下Java文件读取的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

BufferedReader

代码:

    public static String ReadFileByBufferReaderToString(String path) {        if (TextUtils.isEmpty(path)) {            return "";        }        StringBuilder stringBuilder = new StringBuilder();        try (BufferedReader bufferedReader = new BufferedReader(new FileReader(path))) {            String tempStr;            while ((tempStr = bufferedReader.readLine()) != null) {                stringBuilder.append(tempStr).append(System.lineSeparator());            }        } catch (ioException e) {            e.printStackTrace();        }        return stringBuilder.toString();    }

这里我们使用stringbuilder去存储读取出来的字符串,加日志查看耗时,读取一个

onClick: readFileByBufferReaderStringBuilder tims use is 86

这里将文件读取出来之后存储方式改下,每次创建新的String字符串,测试一下每次创建新的字符串和使用StringBuilder之间的性能差异:

    public static String ReadFileByBufferReaderToStringUseString(String path) {        if (TextUtils.isEmpty(path)) {            return "";        }        String result = "";        try (BufferedReader bufferedReader = new BufferedReader(new FileReader(path))) {            String tempStr;            while ((tempStr = bufferedReader.readLine()) != null) {                result += tempStr;            }        } catch (IOException e) {            e.printStackTrace();        }        Log.i(TAG, "ReadFileToString: read success ");        return result;    }

 2023-04-08 23:06:06.141 18416-18518/com.example.Androidstart I/TestFileReadSpeed: onClick: readFileByBufferReaderString tims use is 264041

花了264041 ms,可见多次创建String对象对性能消耗非常大,所以字符串拼接的时候一定要使用StringBuilder,不能使用String直接相加

Files.readAllBytes

    @Requiresapi(api = Build.VERSION_CODES.O)    public static String ReadFileByReadAllBytesReaderToString(String path) {        if (TextUtils.isEmpty(path)) {            return "";        }        String result = null;        try {            result = new String(Files.readAllBytes(Paths.get(path)));        } catch (IOException e) {            e.printStackTrace();        }        return result;    }

2023-04-09 17:38:06.989 7078-7359/com.example.androidstart I/TestFileReadSpeed: onClick: ReadFileByReadAllBytesReaderToString tims use is 68

耗时68ms,比上面的BufferReader行一行读取会快一些,但是这个API有一些限制就是必须在AndroidO及以上版本才可以使用。

Files.lines

    @RequiresApi(api = Build.VERSION_CODES.O)    public static String ReadFileByByFilesReadLinesToString(String path) {        if(TextUtils.isEmpty(path)){            return "";        }        StringBuilder stringBuilder = new StringBuilder();        try (Stream<String> stream = Files.lines(Paths.get(path))) {            stream.forEach(new Consumer<String>() {                @Override                public void accept(String s) {                    stringBuilder.append(s);                }            });        } catch (IOException e) {            e.printStackTrace();        }        return stringBuilder.toString();    }

2023-04-09 17:46:14.342 7078-7078/com.example.androidstart I/TestFileReadSpeed: onClick: ReadFileByByFilesReadLinesToString tims use is 102

Files.lines耗时中等在100ms左右。

CommoNIO::readFileToString

代码:

   public static String ReadFileByCommonIOReadFileToString(String path) {        if (TextUtils.isEmpty(path)) {            return "";        }        try {            return FileUtils.readFileToString(new File(path), Charset.defaultCharset());        } catch (IOException e) {            e.printStackTrace();        }        return "";    }

2023-04-09 17:53:34.204 8292-8292/com.example.androidstart I/TestFileReadSpeed: onClick: ReadFileByCommonIOReadFileToString tims use is 70

耗时为70ms

以上就是“Java文件读取的方法有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网精选频道。

--结束END--

本文标题: Java文件读取的方法有哪些

本文链接: https://lsjlt.com/news/357489.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java文件读取的方法有哪些
    今天小编给大家分享一下Java文件读取的方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。BufferedReader...
    99+
    2023-07-06
  • java读取文本文件的方法有哪些
    Java读取文本文件的方法有以下几种:1. 使用FileReader和BufferedReader类:使用FileReader类读取...
    99+
    2023-09-20
    Java
  • java读取xml文件的方法有哪些
    Java读取XML文件的方法有以下几种:1. 使用DOM解析器:DOM解析器将整个XML文档加载到内存中,形成一个树形的DOM对象,...
    99+
    2023-09-27
    java
  • java读取excel文件的方法有哪些
    1. 使用POI库:POI是Apache的一个开源项目,提供了读取、写入和操作Microsoft Office格式文件的Java A...
    99+
    2023-05-29
    java读取excel文件 java
  • GoLang读取文件的方法有哪些
    这篇文章主要介绍“GoLang读取文件的方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“GoLang读取文件的方法有哪些”文章能帮助大家解决问题。一. 整个文件读入内存直接将数据直接读取入内...
    99+
    2023-07-02
  • perl读取文件的方法有哪些
    Perl读取文件的方法有以下几种:1. 使用open函数打开文件,并使用...
    99+
    2023-10-18
    perl
  • nodejs读取文件的方法有哪些
    Node.js中读取文件的方法有以下几种:1. 使用fs模块的fs.readFile()方法:该方法将整个文件读入内存,并在回调函数...
    99+
    2023-08-09
    nodejs
  • tensorflow读取文件的方法有哪些
    在TensorFlow中,读取文件的方法有以下几种: 使用tf.io.gfile.GFile()函数读取文件,该函数可以打开本地...
    99+
    2024-03-15
    tensorflow
  • golang读取文件有哪些方法
    golang读取文件的方法:1、使用os包和os.Open函数;2、使用bufio包和Scanner类型;3、使用ioutil包和ReadFile函数;4、使用os/exec包和命令行工具组合读取文件内容。详细介绍:1、使用os包和os.O...
    99+
    2023-12-14
    Golang
  • php中读取文件的方法有哪些
    这篇文章主要介绍了php中读取文件的方法有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。文件是否可执行:- is executable()文件是否可读...
    99+
    2023-06-15
  • php读取文件内容的方法有哪些
    PHP读取文件内容的方法有以下几种:1. file_get_contents():该函数用于将整个文件内容读取到一个字符串中。可以接...
    99+
    2023-09-26
    php
  • golang读取文件内容的方法有哪些
    在 Golang 中,我们可以使用以下几种方法来读取文件的内容: 使用 ioutil 包中的 ReadFile 函数:使用 iou...
    99+
    2023-10-20
    golang
  • shell按行读取文件的方法有哪些
    这篇文章主要介绍“shell按行读取文件的方法有哪些”,在日常操作中,相信很多人在shell按行读取文件的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”shell按行读取文件的方法有哪些”的疑惑有所...
    99+
    2023-06-09
  • spark读取本地文件的方法有哪些
    在Spark中,可以使用以下几种方式来读取本地文件: 使用sc.textFile()方法读取文本文件: from pyspark...
    99+
    2024-04-02
  • C++读取文件的方式有哪些
    这篇文章主要讲解了“C++读取文件的方式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++读取文件的方式有哪些”吧!C++可以根据不同的目的来选取文件的读取方式,目前为止学习了C++...
    99+
    2023-07-05
  • SpringBoot读取Yml配置文件的方法有哪些
    这篇“SpringBoot读取Yml配置文件的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot读...
    99+
    2023-07-05
  • java读取数据的方法有哪些
    Java读取数据的方法有以下几种:1. 使用Scanner类:Scanner类是Java中常用的读取数据的类,可以从控制台、文件、字...
    99+
    2023-08-09
    java
  • C#读取写入文件的方式有哪些
    这篇“C#读取写入文件的方式有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#读取写入文件的方式有哪些”文章吧。1:二...
    99+
    2023-07-02
  • Go语言读取文件的方式有哪些
    这篇文章主要介绍了Go语言读取文件的方式有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Go语言读取文件的方式有哪些文章都会有所收获,下面我们一起来看看吧。整个文件读取我们可以很容易地一次性读取整个文件并将...
    99+
    2023-07-06
  • python文件读写的方法有哪些
    Python文件读写的方法有以下几种:1. 使用open()函数打开文件,并通过read()方法读取文件内容。```pythonfi...
    99+
    2023-09-13
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作