Bonjour,
J'ai développé une classe java qui utilise le java.io.file pour lister pour un répertoire donné la liste des sous-répertoires disponibles ainsi que les fichiers du répertoire courrant... Ca marche bien sur les disques locaux, mais pas pour les disques réseaux...
Pour info, cette classe est utilisée par des fonctions/procédures oracle stockée en base...
Pour un répertoire d'un disque réseau, la fonction checkDir me retourne "unkown"...
Si qqun avait une astuce...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63 import java.io.*; import java.util.*; import java.text.*; public class dirContents { // Date format for file "last modified" date static private Format daf = new SimpleDateFormat("dd MMM yyyy HH:mm:ss"); // Return "unknown" if the given directory name does not correspond to an existing directory public static String checkDir (String dir) { File f = new File (dir); if (!f.exists()) return "unknown"; if (!f.isDirectory()) return "unknown"; return dir; } // Retrieve files and directories for a given directory public static String GetDirFiles (String dir) { File f = new File (dir); String[] filesList = f.list(); String path = f.getPath(); String listf = new String(); String listd = new String(); for (int i = 0; i < filesList.length; i++) { File f2 = new File(path, filesList[i]); if (f2.isDirectory()) { listd = listd + "£d" + filesList[i]; } else listf = listf + "£f" + filesList[i]; } return listd + listf; } // Retrieve file's informations for a given file public static String GetFileInfo (String filename) { File f = new File (filename); Date lastModif = new Date(f.lastModified()); String fileDate = daf.format(lastModif); return f.length() + "£" + fileDate; } // Retrieve all directories and sub-directories for a given directory public static String GetDirList (String dir, int level) { File f = new File (dir); String[] filesList = f.list(); String path = f.getPath(); String contents = new String(); for (int i = 0; i < filesList.length; i++) { File f2 = new File(path, filesList[i]); if (f2.isDirectory()) { contents = contents + "£l" + level + "-d" + filesList[i]; // Recursive call to gett all sub-directories names and levels level++; String contents2 = GetDirList(dir + "\\" + filesList[i], level); contents = contents + contents2; level--; } } return contents; } }
Merci d'avance.
Partager