[英]Adding file names to an array list in java
我目前需要将文件夹文件名的内容加载到我有的arraylist但我不确定如何做到这一点。
为了说明我有一个文件夹,包含One.txt,Two.txt,Three.txt等。我希望能够将这个列表加载到一个arraylist中,这样如果我要查看arraylist,它的内容将是:
arraylist [0] =一个
arraylist [1] =两个
arraylist [3] =三
如果有人能给我任何洞察力,我将不胜感激。
这是一个使用java.io.File.list(FilenameFilter)
的解决方案。 它保留.txt
后缀; 如果你真的需要,你可以轻松剥离这些。
File dir = new File(".");
List<String> list = Arrays.asList(dir.list(
new FilenameFilter() {
@Override public boolean accept(File dir, String name) {
return name.endsWith(".txt");
}
}
));
System.out.println(list);
File dir = new File("/some/path/name");
List<String> list = new ArrayList<String>();
if (dir.isDirectory()) {
String[] files = dir.list();
Pattern p = Pattern.compile("^(.*?)\\.txt$");
for (String file : files) {
Matcher m = p.matcher(file);
if (m.matches()) {
list.add(m.group(1));
}
}
}
你可以试试
File folder = new File("myfolder");
if (folder.isDirectory())
{
// you can get all the names
String[] fileNames = folder.list();
// you can get directly files objects
File[] files = folder.listFiles();
}
这是我的回答,我亲自使用过这个来获取所有文件名,
在我的一个游戏中用于loadave函数。
public void getFiles(String path){
//Put filenames in arraylist<string>
File dir = new File(path);
ArrayList<String> filenames = new ArrayList<String>();
for(File file : dir.listFiles()){
savefiles.add(file.getName());
}
//Check if the files are in the arraylist
for (int i = 0; i < savefiles.size(); i++){
String s = savefiles.get(i);
System.out.println("File "+i+" : "+s);
}
System.out.println("\n");
}
我希望这可能对你有用C: - 拥抱玫瑰
请参阅Jave File API,尤其是list()函数。
File my_dir = new File("DirectoryName");
assert(my_dir.exists()); // the directory exists
assert(my_dir.isDirectory()); // and is actually a directory
String[] filenames_in_dir = my_dir.list();
现在filenames_in_dir
是一个包含所有filenames_in_dir
的数组,几乎就是你想要的。
如果你想从各个文件名中删除扩展名,那就是基本的字符串处理 - 迭代文件名并处理每个文件名。
看看java.io.File它可以为您提供所需的所有控件。 这是一个URL http://java.sun.com/j2se/1.5.0/docs/api/java/io/File.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.