Je voudrais créer un outil de recherche de fichiers en Java qui fonctionne à la fois sur Linux et Windows. Je connais Windows, mais je ne suis pas sûr de Linux. J'utilise cette logique pour afficher tous les disques dans les fenêtres.
package test;
import java.io.File;
public class Test {
public static void main(String[] args) {
File[] drives = File.listRoots();
String temp = "";
for (int i = 0; i < drives.length; i++) {
temp += drives[i];
}
String[] dir = temp.split("\\\\");
for (int i = 0; i < dir.length; i++) {
System.out.println(dir[i]);
}
}
}
Lorsqu'il est utilisé sous Windows, le code ci-dessus affiche toutes les racines telles que c:, d:, etc., mais lorsqu'il est utilisé sous Linux, il affiche simplement /. J'utilise également ce raisonnement pour trouver un certain fichier dans Windows.
[code]
public void findFile(String name,File file)
{
File[] list = file.listFiles();
if(list!=null)
for (File fil : list)
{
if (fil.isDirectory())
{
findFile(name,fil);
}
else if (name.equalsIgnoreCase(fil.getName()))
{
System.out.println(fil.getParentFile());
}
}
}
[code]
Cela fonctionne bien, mais ma difficulté est de comprendre comment le faire sous Linux ; Je suis nouveau sur Linux et je n'ai aucune idée de comment le faire, et je manque de temps ; Toute assistance sera grandement appréciée.