什么是最简单的方法来读取文件到字符串?

这个问题在这里已经有了答案:

  • 如何从文件内容创建Java字符串? 29个答案

  • 是的,你可以在一行中做到这一点(尽管对于你不想要的健壮的IOException处理)。

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

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

    有一个构造函数接受一个File和一个String charSetName (在许多其他重载中)。 这两个构造函数可能会抛出FileNotFoundException ,但与所有Scanner方法一样,除了这些构造函数之外,不会IOException

    如果发生IOException您可以通过ioException()方法查询Scanner本身。 读取内容后,您可能还想显式close() Scanner ,因此可能将Scanner参考存储在本地变量中是最好的。

    也可以看看

  • Java教程 - I / O基础知识 - 扫描和格式化
  • 相关问题

  • 使用java.util.Scanner验证输入 - 具有更多典型用法的许多示例

  • 第三方库选项

    为了完整起见,如果您拥有这些非常有信誉且非常有用的第三方库,这些都是非常好的选择:

    番石榴

    com.google.common.io.Files包含许多有用的方法。 这里相关的是:

  • String toString(File, Charset)
  • 使用给定的字符集,将文件中的所有字符读入String
  • List<String> readLines(File, Charset)
  • ...将文件中的所有行读取到List<String> ,每行一个条目
  • Apache Commons / IO

    org.apache.commons.io.IOUtils也提供类似的功能:

  • String toString(InputStream, String encoding)
  • 使用指定的字符编码,将InputStream的内容作为String
  • List readLines(InputStream, String encoding)
  • ...作为(原始) String List ,每行一个条目
  • 相关问题

  • 最有用的免费第三方Java库(删除)?

  • 从Java 7(API描述)开始,您可以执行以下操作:

    new String(Files.readAllBytes(Paths.get(filePath)), StandardCharsets.UTF_8);

    其中filePath是表示要加载的文件的字符串。


    你可以使用apache commons IO ..

    FileInputStream fisTargetFile = new FileInputStream(new File("test.txt"));
    
    String targetFileStr = IOUtils.toString(fisTargetFile, "UTF-8");
    
    链接地址: http://www.djcxy.com/p/72325.html

    上一篇: What is simplest way to read a file into String?

    下一篇: What substitutes xreadlines() in Python 3?