24. marts 2003 - 16:19Der er
10 kommentarer og 2 løsninger
Find filer i et Directory
Jeg har brug for en metode som kan finde ALLE filer i et Directory. Den skal fungere rekursivt.
Jeg har lavet denne:
public String[] ListFiles(String dir) { Vector v = new Vector();
File [] filList; File f = new File(dir); filList = f.listFiles();
for (int i = 0; i < filList.length; i++) { if (filList[i].isDirectory()) { ListFiles(filList[i].toString()); } if (filList[i].isFile()) { v.add(filList[i].getAbsolutePath()); System.out.println(filList[i]); } }
v.trimToSize(); String [] res = new String[v.size()]; v.copyInto(res);
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
public class Dir { public static void main(String[] args) { // list all files in C:\ File dir = new File("C:\\"); String[] dirlist = dir.list(); for(int i = 0; i < dirlist.length; i++) { System.out.println(dirlist[i]); }
public class DirSub { public static void main(String[] args) { dir("C:\\java"); } public static void dir(String s) { File dir = new File(s); String[] dirlist = dir.list(); for (int i = 0; i < dirlist.length; i++) { String fnm = dir + System.getProperty("file.separator") + dirlist[i]; System.out.println(fnm); if ((new File(fnm)).isDirectory()) { dir(fnm); } } } }
public class DirSub2 { public static void main(String[] args) { Vector v = new Vector(); dir("C:\\java", v); for(int i = 0; i < v.size(); i++) { System.out.println((String)v.get(i)); } } public static void dir(String s, Vector v) { File dir = new File(s); String[] dirlist = dir.list(); for (int i = 0; i < dirlist.length; i++) { String fnm = dir + System.getProperty("file.separator") + dirlist[i]; v.add(fnm); if ((new File(fnm)).isDirectory()) { dir(fnm, v); } } } }
Jeg appender en / eller \ ind mellem parent dir og filnavn - System.getProperty("file.separator") gør at den samme kode virker på både Windows og Unix/Linux.
Bemærk, at min kode er lidt anderledes end dit approach, da jeg lister navne. Du lister filer og bruger så absolute path.
Jeg ved ikke hvad der er bedst. Jeg lavede det bare som jeg lige kunen finde ud af det.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.