Heim  >  Artikel  >  Java  >  Dateiübersicht und Einführung in die Verwendung

Dateiübersicht und Einführung in die Verwendung

PHP中文网
PHP中文网Original
2017-06-21 09:34:191196Durchsuche

Dateiübersicht
java.io.File-Klasse: Abstrakte Darstellung von Datei- und Verzeichnispfadnamen.
Wird zur Beschreibung von Dateien, Ordnern und Pfadklassen im Computer verwendet.

Drei häufig verwendete Wörter im Zusammenhang mit Datei:
Datei: Datei
Verzeichnis: Datei Ordner ( Verzeichnis)
Pfad: Pfad
Datei ist eine Klasse, die nichts mit dem System zu tun hat

Drei überladene Konstruktionsmethoden der Dateiklasse
Pfad:
Verzeichnistrennung des Fensters system Das Symbol ist ein
. Das Verzeichnistrennzeichen in Java ist: \ oder /
Klassifizierung von Pfaden:
Absoluter Pfad: Pfad, der mit einem Laufwerksbuchstaben beginnt
Zum Beispiel: D:\ase\20170514\day10
D:\Work_EE_266\day10\src
Relativer Pfad: Relativ zum aktuellen Projekt, Sie können den Laufwerksbuchstaben weglassen, wenn Schreiben des Pfads in „Pfad zwischen Projekten“
D:\Work_EE_266\day10-->src

Hinweis: Bei Lu Jin wird die Groß-/Kleinschreibung nicht beachtet.
Datei (übergeordnete Datei, untergeordnete Zeichenfolge)
Übergabe path , übergeben Dateityp übergeordneter Pfad, String-Typ untergeordneter Pfad
Vorteile: Der übergeordnete Pfad ist Dateityp, der übergeordnete Pfad kann die Methode der Dateiklasse direkt aufrufen
Datei (String Parent, String Child)
Pass Pfad, Übergabe Übergeordneter Pfad vom Typ Zeichenfolge, Unterpfad vom Typ Zeichenfolge
Vorteile: Es ist flexibler, den übergeordneten Pfad und den Unterpfad getrennt zu betreiben, und der Pfad kann separat als Parameter übergeben werden
Datei ( Zeichenfolge (Pfadname)
Pfadname übergeben: Sie können in einen Ordner oder eine Datei schreiben
c:\abc c:\abc\Demo.java
Sie können ihn erstellen, unabhängig davon, ob der Pfad vorhanden ist oder nicht Groß- und Kleinschreibung wird nicht beachtet

 1 public static void main(String[] args) { 2         /* 3          * static String pathSeparator 与系统有关的路径分隔符,为了方便,它被表示为一个字符串。 
 4          * static char pathSeparatorChar  与系统有关的路径分隔符。 
 5          * static String separator  与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。 
 6          * static char separatorChar  与系统有关的默认名称分隔符。 
 7          */ 8         String pathSeparator = File.pathSeparator; 9         System.out.println(pathSeparator);//路径分隔符 windows 分号; linux 冒号:10         11         String separator = File.separator;12         System.out.println(separator);//目录名称分隔符windows 反斜杠\  linux 正斜杠/13         14         /*15          * System类中的方法16          * static String getProperty(String key) 获取指定键指示的系统属性。 
17          * file.separator 文件分隔符(在 UNIX 系统中是“/”) 
18          * path.separator 路径分隔符(在 UNIX 系统中是“:”) 
19          * line.separator 行分隔符(在 UNIX 系统中是“/n”) 
20          */21         System.out.println(System.getProperty("file.separator"));22         System.out.println(System.getProperty("line.separator"));23         System.out.println(System.getProperty("path.separator"));24     }

Funktion zum Erstellen und Löschen von Dateiklassen
Funktion zum Löschen von Dateiklassen
boolean delete()
Löschen Dateien oder Ordner, im Dateikonstruktor. Gegeben in
Gibt true zurück, wenn das Löschen erfolgreich ist, false, wenn das Löschen fehlschlägt (existiert nicht, es gibt Inhalte im Ordner)
Die Löschmethode wird nicht in den Papierkorb verschoben. Direkt von der Festplatte löschen
Das Löschen ist riskant, bitte vorsichtig vorgehen


Funktion zum Erstellen von Dateiordnern
boolean mkdir() kann nur einschichtige Ordner erstellen
boolean mkdirs() kann sowohl einschichtige Ordner als auch einen mehrschichtigen Ordner erstellen
Der erstellte Pfad wird auch in der Dateierstellungsmethode angegeben
Wenn der Ordner bereits vorhanden ist, wird er nicht erstellt


Dateifunktion zum Erstellen einer Datei
boolean createNewFile()
Der erstellte Dateipfad und der Dateiname werden in der Dateikonstruktionsmethode angegeben
Wenn die Datei existiert bereits, es wird nicht erstellt und gibt false zurück
Es können nur Dateien erstellt werden, keine Ordner (Achten Sie auf den Typ, achten Sie nicht auf das Suffix)
Der Pfad zum Erstellen des Ordners muss vorhanden sein

Die Beurteilungsfunktion der File-Klasse
boolean isDirectory()
Beurteilen Sie die Dateikonstruktionsmethode. Ob der gekapselte Pfad ein Ordner ist.
Wenn es sich um einen Ordner handelt, geben Sie true zurück, wenn kein Ordner, geben Sie false zurück
boolean isFile()
Bestimmen Sie, ob der gekapselte Pfad in der Dateikonstruktionsmethode eine Datei ist
boolean exist()
Bestimmen Sie, ob der gekapselte Pfad in der Dateikonstruktionsmethode existiert
True zurückgeben, wenn es existiert, false, wenn es nicht existiert

Funktion der File-Klasse abrufen
String getParent() Gibt String-Objekt zurück
File getParentFile() Gibt das File-Objekt zurück
Ruft den übergeordneten Pfad ab und gibt den übergeordneten Pfad am Ende der Datei zurück

long length()
Gibt die Anzahl der Bytes der im Pfad dargestellten Datei zurück, Ordner Keine Größe

String getPath() Konvertieren Sie diesen abstrakten Pfadnamen in einen Pfadnamen-String.
Identisch mit toString

String getName()
Gibt den im Pfad dargestellten Datei- oder Ordnernamen zurück
Ruft den Namen des letzten Teils des Pfads ab

Datei getAbsoluteFile () gibt die absolute Pfadnamenform dieses abstrakten Pfadnamens zurück.
String getAbsolutePath() Gibt die absolute Pfadnamenzeichenfolge dieses abstrakten Pfadnamens zurück.
Holen Sie sich den absoluten Pfad


Methoden zum Durchlaufen von Verzeichnissen list und listFiles
Hinweise:
1. Der durchquerte Pfad kann nur ein Verzeichnis sein
2. Das durchquerte Verzeichnis muss vorhanden sein
andernfalls wird eine Nullzeigerausnahme ausgelöst

static File[] listRoots()
Alle Stammverzeichnisse im System abrufen

File[] listFiles()
Ruft die Datei- und Ordnernamen im Pfad ab, der in der Dateikonstruktionsmethode gekapselt ist (ein Verzeichnis durchqueren)
Gibt den vollständigen Pfad des Verzeichnisses oder der Datei zurück

String[] list( : Die Methode nennt sich selbst

Kategorie:

Rekursion ist in zwei Typen unterteilt: direkte Rekursion und indirekte Rekursion. Direkte Rekursion wird als Methode selbst bezeichnet, die sich selbst aufruft. Durch die indirekte Rekursion kann Methode A Methode B aufrufen, Methode B Methode C aufrufen und Methode C Methode A aufrufen.

Hinweis: 1. Die Rekursion muss bedingt begrenzt werden, um sicherzustellen, dass die Rekursion gestoppt werden kann, andernfalls kommt es zu einem Stapelspeicherüberlauf.
2. Obwohl es Einschränkungen bei der Rekursion gibt, darf die Anzahl der Rekursionen nicht zu hoch sein. Andernfalls kommt es auch zu einem Stapelspeicherüberlauf.
3. Konstruktormethode, Rekursion ist verboten

文件过滤器
文件的过滤器:
需求:遍历hello文件夹,只获取文件夹中的.java结尾的文件
c:\\hello
c:\\hello\\demo.txt
c:\\hello\\Hello.java

在File类中listFiles()方法是遍历文件夹的方法
有两个和 listFiles重载的方法,参数传递的就是过滤器
File[] listFiles(FileFilter filter)
File[] listFiles(FilenameFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。  
发现方法的参数FileFilter和FilenameFilter是接口
所有我们需要自己定义接口的实现类,重写接口中的方法accept,实现过滤功能

 1 public class FileFilterImpl implements FileFilter{ 2     /* 3      * 实现过滤的方法: 4         1.把传递过来的路径pathname,变成字符串 5             Stirng s  = pathname.toString(); "c:\\hello\\demo.txt" 6             String s  = pathname.getPaht(); "c:\\hello\\demo.txt" 7             String s = pathname.getName(); "demo.txt" 8         2.使用String类中的方法endsWith判断字符串是否以指定的字符串结尾 9             boolean b = s.endsWith(".java");10             return b;11      */12     @Override13     public boolean accept(File pathname) {14         /*String s = pathname.getName();15         boolean b = s.endsWith(".java");16         return b;*/17         return pathname.getName().toLowerCase().endsWith(".java");18     }19 }20 public class FilenameFilterImpl implements FilenameFilter{21 22     @Override23     public boolean accept(File dir, String name) {24         return name.toUpperCase().endsWith(".JAVA");25     }26 27 }

断点调试
 debug断点调试
 f6:逐行执行
 f5:进入到方法中
 f7:结束方法
 f8:跳到下一个断点
 watch:捕获

Das obige ist der detaillierte Inhalt vonDateiübersicht und Einführung in die Verwendung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn