Methoden zum Lesen von Dateien in Java: 1. Lesen mit der Methode [java.io] und Lesen aus einem relativen Pfad relativ zum aktuellen Benutzerverzeichnis 2. Mit der Methode [java.lang.ClassLoader]; Methode Lesen, Lesen aus einem relativen Pfad relativ zum Klassenpfad.
Methoden zum Lesen von Dateien in Java:
Zwei Methoden zum Lesen von Dateien in Java: java.io und java .lang.ClassLoader
// java.io: File file = new File("..."); FileInputStream fis = new FileInputStream("..."); FileReader fr = new FileReader("..."); //ClassLoader: ClassLoader loader = XXXClass.class.getClassLoader(); ClassLoader loader2 = Thread.currentThread().getContextClassLoader(); URL url = loader.getResource("..."); File file = new File(url.getFile()); InputStream input = loader.getResourceAsStream("...");
1. Klassen im java.io-Paket analysieren immer relative Pfadnamen basierend auf dem aktuellen Benutzerverzeichnis. Mit anderen Worten, ob relative Pfade gut funktionieren, hängt davon ab der Wert von user.dir. Die Systemeigenschaft user.dir wird beim Start der JVM festgelegt. Dies ist normalerweise das aufrufende Verzeichnis der Java Virtual Machine, also das Verzeichnis, in dem der Java-Befehl ausgeführt wird.
Für den Tomcat/jboss-Container ist user.dir das %home/bin%/-Verzeichnis, da wir in diesem Verzeichnis den Webcontainer starten.
Wenn das Programm in Eclipse ausgeführt wird, wird Eclipse dies tun Legen Sie den Wert von user.dir auf das Stammverzeichnis des Projekts fest
Das Benutzerverzeichnis kann mit System.getProperty("user.dir") angezeigt werden
Verwenden Sie also java.io, um Lesen Sie die Datei. Unabhängig davon, ob es sich um einen relativen oder einen absoluten Pfad handelt, ist dies keine gute Vorgehensweise. Verwenden Sie sie nicht, wenn Sie sie nicht verwenden können (in JavaEE).
2. Es gibt zwei Möglichkeiten, ClassLoader zu verwenden
Class.getResource(), absoluter Pfad und relativer Pfad. Der absolute Pfad beginnt mit / und beginnt mit der Suche im Stammverzeichnis des Klassenpfads oder JAR-Pakets.
Der relative Pfad ist relativ zum Verzeichnis, in dem sich die aktuelle Klasse befindet, sodass Sie .. oder verwenden können Dateien suchen.
ClassLoader.getResource() kann nur absolute Pfade verwenden und beginnt nicht mit / .
Diese beiden Methoden zum Lesen von Ressourcendateien hängen nicht von user.dir oder der spezifischen Bereitstellungsumgebung ab. Es handelt sich um empfohlene Vorgehensweisen (JavaEE)
Auswahl
java.io:
wird relativ zum relativen Pfad des aktuellen Benutzerverzeichnisses gelesen; der Schwerpunkt liegt auf dem Umgang mit Festplattendateien oder der Verwendung in reinen Java-Projekten.
Obwohl die ClassLoader-Methode vielseitiger ist, ist es unvernünftig, den Klassenpfad zum Lesen der Datei zu finden, wenn es sich nicht um eine JavaEE-Umgebung handelt.
java.lang.ClassLoader:
Relative Pfadlesung relativ zum Klassenpfad; es wird empfohlen, diese Methode in der JavaEE-Umgebung zu verwenden.
Normalerweise kann ClassLoader keine zu großen Dateien lesen. Es eignet sich zum Lesen großer Dateien. Sie müssen jedoch zuerst das IO-Paket verwenden Der absolute Pfad der Datei wird dann an die Datei oder andere Objekte übergeben. Zum Lesen ist es besser, die Objekte im io-Paket zu verwenden.
Für weitere Java-Kenntnisse beachten Sie bitte das Java-Grundlagen-Tutorial.
Das obige ist der detaillierte Inhalt vonSo lesen Sie Dateien in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),
