Inhaltsverzeichnis
Operationen an Namen und Pfaden
Über Schöpfungs- und Zerstörungsoperationen
Ordner erstellen (mehrstufige Verzeichnisse)
Der erste Typ: Byte-Stream-Lesen
Der zweite Typ: Lesen des Zeichenstroms (Reader)
Der erste Typ: Byte-Stream-Schreiben
Die zweite Methode: Zeichenstromeingabe
1.Dateiklasse
Datei übersetzt als „Datei“
Dann sind die Operationen der File-Klasse tatsächlich alle Operationen an Dateien.
Operationen an Namen und Pfaden
public static void main(String[] args) {
//虚拟一个名字叫做test.txt的文件,但这一步只是虚拟的,还没有创建
File file = new File("./test.txt");
System.out.println(file.getParent());//获取这个文件的父目录的路径
System.out.println(file.getName());//获取这个文件的名字
System.out.println(file.getPath());//获取这个文件的相对路径
System.out.println(file.getAbsolutePath());//获取这个文件的绝对路径
}
Über Schöpfungs- und Zerstörungsoperationen
public static void main(String[] args) throws IOException {
//拟创建一个叫做Test.txt的文件,但还没创建
File file = new File("./Test.txt");
//真的在计算机的当前目录创建了这个文件
file.createNewFile();
System.out.println(file.isFile());//判断是否是普通文件
System.out.println(file.isDirectory());//判断是否是目录文件
System.out.println(file.exists());//判断这个文件是否存在
System.out.println(file.delete());//删除这个文件
System.out.println(file.exists());
}
Ordner erstellen (mehrstufige Verzeichnisse)
public static void main(String[] args) {
File file = new File("./hello1");
File file2 = new File("./hello2/6666");
file.mkdir();//只能创建一级目录
file2.mkdirs();//能创建多级目录
}
Eingabestrom
Lesen Sie einfach die Daten aus der Datei
Im Allgemeinen gibt es zwei Arten zu lesen
Der erste Typ: Byte-Stream-Lesen
(Die Grundeinheit des Lesens und Schreibens sind Bytes)
Grundlegende Methode: read(): Liest ein Datenbyte und gibt -1 zurück, um anzuzeigen, dass der Lesevorgang abgeschlossen ist.
verwenden
Wir erstellen zunächst eine Datei mit dem Namen hello.txt auf dem Laufwerk D und geben dann hallo ein
public static void main(String[] args) throws FileNotFoundException {
InputStream inputStream = new FileInputStream("D:/hello.txt");//这里输入读取的文件地址,如果输入错误会报错无法读取
while(true){
try {
int ret = inputStream.read();//如果全部读取完毕返回-1
if(ret == -1){
break;
}
System.out.println(ret);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Die Ausgabe ist der entsprechende ASCII-Code~
Der zweite Typ: Lesen des Zeichenstroms (Reader)
Das Funktionsprinzip ist das gleiche wie beim Byte-Stream-Lesen. Der einzige Unterschied besteht darin, dass Zeichen auf dem Bildschirm anstelle von Zahlen angezeigt werden, die der Ask-Tabelle entsprechen.
public static void main(String[] args) throws FileNotFoundException {
Reader reader = new FileReader("D:/hello.txt");
while(true){
try {
int ret = reader.read();
if(ret == -1){
break;
}
System.out.println((char)ret);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Ausgabestrom
Schreiben Sie einfach Daten in die Datei
Generell gibt es zwei Möglichkeiten zu schreiben
Der erste Typ: Byte-Stream-Schreiben
Grundlegende Methode: write()
public static void main(String[] args) throws FileNotFoundException {
OutputStream outputStream = new FileOutputStream("d:/hello.txt");
try {
//注意,这里的98,99,100是ask码表对应的数字的字符,不是数字98,99,100
outputStream.write(98);
outputStream.write(99);
outputStream.write(100);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Die zweite Methode: Zeichenstromeingabe
Achten Sie bei dieser Methode darauf, am Ende die Flush-Methode zu verwenden.
Rufen Sie den im Speicher gespeicherten Bytestream ab
Ansonsten passiert zwar nichts, aber das Programm meldet trotzdem keinen Fehler.
public static void main(String[] args) throws IOException {
Writer writer = new FileWriter("d:/hello2.txt");
writer.write("hello");
//一定要加上flush!!!!!
//一定要加上flush!!!!!
//一定要加上flush!!!!!
writer.flush();
}