Descripción general (rendimiento multiplataforma de Java)
-
La representación abstracta de los nombres de ruta de archivos y directorios. Java encapsula los archivos y carpetas de la computadora en la clase File. Java opera en archivos y carpetas a través de esta clase.
-
La clase File es una clase independiente del sistema, cualquier sistema operativo puede usar esta clase
public class File extends Object implements Serializable, Comparable<File>
archivo: archivo
directorio: directorio
camino: camino
Cuatro variables estáticas en la clase:
Modificador y tipo | Campo y descripción |
---|---|
static String |
pathSeparator El sistema se basa en los caracteres del separador de ruta, expresados como una cadena conveniente. |
static char |
pathSeparatorChar El sistema se basa en el carácter separador de ruta. |
static String |
separator El carácter separador de nombre predeterminado en el que se basa el sistema, expresado como una cadena conveniente. |
static char |
separatorChar El carácter separador de nombre predeterminado en el que se basa el sistema. |
Separador de ruta:
Windows es ";"
Linux es ":"
Separador de nombre de archivo:
Windows es "\"
Linux es "/"
Método concreto
import java.io.File;
import java.io.IOException;
/**
* 1.File的构造方法
* 2.File类中的常见方法
*/
public class Demo3 {
public static void main(String[] args) throws IOException {
//1.pathName---真假,绝对相对都行
File file1 = new File("G:\\c.txt");
File file1_1 = new File("G:\\java_file");
System.out.println(file1);
// if (file1.createNewFile()){//创建文件
// System.out.println("原文件不存在,创建成功!");
// }else {
//
// }
// if (file1_1.mkdir()){//创建文件夹
// System.out.println("原文件夹不存在,创建成功!");
// }else {
//
// }
//2.File(String parent, String child)
File file2 = new File("","");
//3.File(File parent, String child)
File file3 = new File(file1,"");
//2.1获取功能
File file2_1 = new File("G:\\");
// System.out.println(file2_1.getTotalSpace());//通过这种抽象路径名返回分区 named大小
// System.out.println(file2_1.getFreeSpace() );//通过这种抽象路径名返回分区中的 named未分配的字节数。
String[] list = file2_1.list();//返回的字符串在该目录下的抽象路径名的文件和目录命名为数组。
// for (int i = 0; i < list.length; i++) {
// System.out.println(list[i]);
// }
File[] files = file2_1.listFiles();//返回表示抽象路径名的目录中的文件的路径名表示抽象的数组。
// for (File filess:files) {
// if (filess.isDirectory()){
// System.out.println("This is a directory");
// }else {
// System.out.println(filess.getAbsoluteFile());
// }
// }
//2.2判断方法————isFile/isDirectory/exists
File file2_2 = new File(file2_1,"Nachos");
// if (file2_2.exists()){
// System.out.println(file2_2.getAbsoluteFile());
// }else {
// file2_2.mkdir();
// }
//2.3创建和删除功能的方法
File file2_3 = new File(file2_2.getAbsolutePath(),"nachos1.txt");
// if (file2_3.createNewFile()){
// System.out.println("创建成功!");
// }
// if (file2_3.exists()){
// if(file2_3.delete()){
// System.out.println("删除成功!");
// }
// }
File file2_4 = new File("H:\\a.txt");
try{
if (file2_4.createNewFile()){
System.out.println("创建成功!");
}else {
System.out.println("创建失败!");
}
}catch (java.io.IOException e){
System.out.println(e.getMessage());
}
}
}