繁体   English   中英

将文件名添加到java中的数组列表中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM