2010-10-24 54 views
0

标题基本上都是有的吧。我有一个文件对象的数组...文件[] to字符串[]

File[] myFiles = myDirectory.listFiles(); 

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

+3

如果该字符串包含文件名或内容?假设内容,文件都保证只包含文本(没有二进制的东西)? – 2010-10-24 00:41:32

+0

如何将'File'转换为'String'? – 2010-10-24 00:45:36

+0

如果您在问题中提供更多细节,人们将能够更有效地帮助您。当有多种解释问题的方式时,仅仅说“标题基本上都存在太多”是不够的。 – I82Much 2010-10-24 00:58:42

回答

4

假设这是你想要的文件路径,只需要创建一个同样大小的字符串数组,并通过数组迭代获取文件路径,并把他们的字符串数组:

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

相同的文件名称或其他,只需调用你想要的字符串的方法即可。我有一段时间没有写Java,所以语法可能稍微偏离了一点,但是这应该给你一个想法。

+0

对不起,我没有提到文件路径是我想要的。这工作虽然!谢谢! – 2010-10-24 01:25:08

3

假设你想要的文件的名称,只是用

String[] myFileNames = myDirectory.list(); 

它做同样的事情listFiles但而不是返回文件对象它返回一个字符串[]的文件/目录名。

0

如果你正在寻找获得文件的内容作为字符串(这可能是一个非常糟糕的主意,如果你有巨大的文件),则可以使用代码片段来读取文件为一个字符串:http://snippets.dzone.com/posts/show/1335

然后结合Travis的答案,看看如何遍历文件,调用函数,并将文件的内容保存为字符串。

1

FWIW这里是Scala的方式做到这一点:

val myStrings = myFiles.map(_.getPath)