NEWS
UNSOLVED Programmsuchdatei in Java
-
Ich möchte ein Dateisuchtool in Java erstellen, das sowohl unter Linux als auch unter Windows funktioniert. Ich bin mit Windows vertraut, aber ich bin nicht mit Linux vertraut. Diese Logik wird verwendet, um alle Discs in den Fenstern anzuzeigen.
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]); } } }
Bei Verwendung in Windows zeigt der obige Code alle Roots wie c:, d: usw. an, aber bei Verwendung in Linux zeigt er nur / an. Ich verwende diese Argumentation auch, um eine bestimmte Datei in Windows zu finden.
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()); } } }
Es funktioniert gut, aber meine Schwierigkeit besteht darin, herauszufinden, wie es unter Linux geht; Ich bin neu bei Linux und habe keine Ahnung, wie es geht, und mir läuft die Zeit davon; Jede Hilfe wäre sehr willkommen.
-
@jacusi sagte in Programmsuchdatei in Java:
alle Roots wie c:, d: usw. an, aber bei Verwendung in Linux zeigt er nur / an.
Unter Linux ist / das Wurzelverzeichnis. Laufwerksbuchstaben gibt es ja da zum Glück nicht.
-
@jacusi
Warum das Rad neu erfinden? Warum Java?
Da reich doch die Shell aus.
dir / ls für Suche nach Dateinamen, auch rekursiv
Oder
dir / findFür Suche nach Datei + nach Inhalt
https://superuser.com/questions/401495/equivalent-of-unix-find-command-on-windows
https://man7.org/linux/man-pages/man1/ls.1.html
https://man7.org/linux/man-pages/man1/find.1.html -
@oliverio oh vielen dank dafür
-
@oliverio sagte in Programmsuchdatei in Java:
Warum Java?
Die dunkle Seite der Macht
Nicht zu verwechseln mit JavaScript.