Wie kann ich den relativen Pfad der Ordner in meinem Projekt mithilfe von Code abrufen?
Ich habe in meinem Projekt einen neuen Ordner erstellt, und ich möchte einen relativen Pfad, sodass der Pfad, egal wo sich die App befindet, korrekt ist.
Ich versuche es in meiner Klasse zu machen, die Android.app.Activity
erweitert.
Vielleicht etwas Ähnliches wie "Dateipfad vom Asset abrufen" .
Nutzen Sie den Klassenpfad.
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
URL url = classLoader.getResource("path/to/folder");
File file = new File(url.toURI());
// ...
Suchen Sie nach dem Stammordner der Anwendung? Dann würde ich verwenden
String path = getClass().getClassLoader().getResource(".").getPath();
um tatsächlich "herauszufinden, wo ich bin".
File relativeFile = new File(getClass().getResource("/icons/forIcon.png").toURI());
myJFrame.setIconImage(tk.getImage(relativeFile.getAbsolutePath()));
Damit habe ich meinen Projektpfad gefunden:
new File("").getAbsolutePath();
dies gibt "c:\Projects\SampleProject" zurück
Sie können diesen Beispielcode überprüfen, um zu verstehen, wie Sie mit dem Java-Beispielcode auf den relativen Pfad zugreifen können
import Java.io.File;
public class MainClass {
public static void main(String[] args) {
File relative = new File("html/javafaq/index.html");
System.out.println("relative: ");
System.out.println(relative.getName());
System.out.println(relative.getPath());
}
}
Hier zeigt getPath den relativen Pfad der Datei an.
In Android wird auf Metadaten auf Anwendungsebene über die Referenz Context
zugegriffen, von der eine Aktivität abgeleitet ist.
Sie können das Quellverzeichnis beispielsweise über die getApplicationInfo().sourceDir
-Eigenschaft abrufen. __ Es gibt auch Methoden für andere Ordner (Asset-Verzeichnis, Datenverzeichnis, Datenbankverzeichnis usw.).