【问题标题】:File[] to String[]文件 [] 到字符串 []
【发布时间】:2010-10-24 00:31:26
【问题描述】:

标题基本上就是它了。我有一个文件对象数组...

File[] myFiles = myDirectory.listFiles();

我想把它转换成一个字符串数组。 (字符串[])

【问题讨论】:

  • 字符串应该包含文件名还是内容?假设内容,文件是否都保证只包含文本(没有二进制内容)?
  • 又该如何将File转换成String
  • 如果您在问题中提供更多详细信息,人们将能够更有效地帮助您。当有多种解释问题的方式时,仅说“标题基本上就是全部”是不够的。
  • -1 - 假设我们可以读懂你的想法。
  • 这个问题与安卓无关。

标签: java android arrays


【解决方案1】:

假设它是你想要的文件路径,只需创建一个相同大小的String数组,并遍历数组获取文件路径并将它们放入String数组中:

String[] myStrings = new String[myFiles.length()];
for( int i = 0; i < myFiles.length(); i++ )
{
    myStrings[i] = myFiles[i].getPath();
}

文件名或其他名称相同,只需调用所需字符串的方法即可。我已经有一段时间没有写 Java了,所以语法可能会有些偏差,但这应该会给你一些想法。

【讨论】:

  • 对不起,我没有提到文件路径是我想要的。这虽然有效!谢谢!
【解决方案2】:

假设您想要文件名,只需使用

String[] myFileNames = myDirectory.list();

它与 listFiles 做同样的事情,但不是返回 File 对象,而是返回文件/目录名称的 Strings[]。

【讨论】:

    【解决方案3】:

    FWIW 这是一种 Scala 方法:

    val myStrings = myFiles.map(_.getPath)
    

    【讨论】:

      【解决方案4】:

      如果您希望将文件的内容作为字符串获取(如果您有大量文件,这可能是一个非常糟糕的主意),您可以使用 sn-p 将文件读取为字符串:http://snippets.dzone.com/posts/show/1335

      然后将其与 Travis 的回答结合起来,看看您将如何遍历文件、调用函数并将文件内容保存到字符串中。

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 2020-02-27
        • 1970-01-01
        • 2019-02-02
        • 2014-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多