当前位置: 首页 > 面试题库 >

将文件读入String的最简单方法是什么?[重复]

齐向笛
2023-03-14
问题内容

我试图将一个简单的文本文件读取为字符串。当然,有一种通常的方法来获取输入流并使用readLine()进行迭代并将内容读入String。

过去已经做过数百次,我只是想知道如何用最少的代码行做到这一点?Java中没有诸如String fileContents = XXX.readFile(myFile/*File*/)..的东西,而是像这样简单的东西吗?

我知道有像Apache Commons IO这样的库可以提供这种简化,甚至我可以编写一个简单的Util类来做到这一点。但是我唯一想知道的是-这是一个如此频繁的操作,每个人都需要,那么Java为什么不提供这么简单的功能?真的没有某个地方可以使用某种默认或指定编码将文件读入字符串的方法吗?


问题答案:

是的,你可以一行执行此IOException操作(尽管对于强大的处理而言,你并不想这样做)。

String content = new Scanner(new File("filename")).useDelimiter("\\Z").next();
System.out.println(content);

这使用了一个java.util.Scanner,告诉它使用来分隔输入\Z,这是字符串锚点的结尾。这最终使输入具有一个实际的令牌,即整个文件,因此可以通过调用读取它next()

有一个构造函数采用a File和a String charSetName(在许多其他重载中)。这两个构造函数可能会抛出FileNotFoundException,但是像所有Scanner方法一样,没有任何东西IOException可以抛出这些构造函数

你可以Scanner通过该ioException()方法本身查询是否IOException发生。你可能还需要明确close()Scanner后你阅读的内容,因此,或许存储Scanner在一个局部变量的引用最好。



 类似资料:
  • 问题内容: 也许我缺少了一些东西,但是我需要一个预先填充了数据负载的客户端数据库。 为了测试客户端数据库是否能够胜任该任务,我使用该方法创建了一些带有伪数据的伪表。但是据我所知,它需要为每个单个CREATE TABLE和INSERT INTO查询执行executeSQL调用。我很懒,这对我来说似乎太多了。 我想知道…:我可以使用SQLite GUI很快创建一个SQLite表。我尝试导出一个SQL文

  • 问题内容: 我想知道用Java编写文本文件最简单(最简单)的方法是什么。请保持简单,因为我是初学者:D 我在网上搜索并找到了此代码,但我了解其中的50%。 } 问题答案: 在Java 7及更高版本中,一个使用Files的衬板:

  • 问题内容: 我正在用Java替代传统应用程序。要求之一是必须将旧应用程序使用的ini文件原样读取到新的Java应用程序中。此ini文件的格式是常见的Windows样式,带有标头部分和键=值对,使用#作为注释字符。 我尝试使用Java中的Properties类,但是如果不同的标头之间存在名称冲突,那当然是行不通的。 因此,问题是,读取此INI文件和访问密钥的最简单方法是什么? 问题答案: 我正在用J

  • 问题内容: 显然,我想避免将路径等硬编码到我的应用程序中,因此,我想制作一个设置文件来存储诸如字符串之类的简单内容。最简单的方法是什么?我在思考可可如何使用对象持久性的思路,但是似乎找不到任何等效的方法。 问题答案: 您可以使用通过java.util.Properties类处理的属性文件。

  • 问题内容: 当前,我们的Java应用程序使用制表符分隔的* .cfg文件中包含的值。我们需要更改此应用程序,以使其现在使用XML文件。 为了从此文件中读取值,使用的最佳/最简单的库是什么? 问题答案: 当然,根据您的需要有很多好的解决方案。如果只是配置,则应查看Jakarta commons- configuration 和commons- digester 。 您总是可以使用获取文档的标准JDK

  • 问题内容: 反转此ArrayList的最简单方法是什么? 问题答案: 示例(参考):