代码之家  ›  专栏  ›  技术社区  ›  blue2609

Apache Common FileUtils readLines方法不明确的调用

  •  1
  • blue2609  · 技术社区  · 6 年前

    我在尝试用Android Studio来处理Apache commons IO第三方API时偶然发现了这个问题。

    基本上当我试图打电话给 方法,有3个选项:

    • >>>>; 不赞成
    • readLines(文件文件,字符集编码)

    第一个选项已经被否决了,这意味着我不应该再使用它了,所以我只需键入 readLines(文件,空) 但是,现在的问题是Android Studio不知道我在使用哪个readLines()方法签名,因为 readLines(文件,空) 对第二个和第三个方法签名都有效。

    enter image description here

    有人能告诉我这件事吗?如何告诉Android Studio要用于的特定方法签名 FileUtils.readLines() ?

    1 回复  |  直到 6 年前
        1
  •  2
  •   funbiscuit    6 年前

    我猜不出你的空值是多少。不管是字符串还是字符集。你可以试试这样的方法:

    String encoding=null;
    FileUtils.readLines(file, encoding);
    

    但我觉得那不管用 readLines 方法需要知道文件使用的编码。例如,如果您的文件使用UTF-8,您可以编写

    FileUtils.readLines(file, StandardCharsets.UTF_8);
    

    How to Find the Default Charset/Encoding in Java?

    正如Apache文档所说,不推荐使用的版本readLines(文件文件)使用默认字符集。你可以写这个来得到一个等价物:

    FileUtils.readLines(file, Charset.defaultCharset());
    
    推荐文章