文件操作IO流——File类

File类是一个文件操作类,只能操作文件,不能操作文件的内容,要操作文件的内容得必须要用流来操作

File 类
java.io.File类:文件和目录路径名的抽象表示形式,与平台无关
File 能新建、删除、重命名文件和目录,但 File 不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File对象可以作为参数传递给流的构造函数

File 类
访问文件名:
Ø getName()
Ø getPath()
Ø getAbsoluteFile()
Ø getAbsolutePath()
Ø getParent()
Ø renameTo(File
newName)
文件检测
Ø exists()
Ø canWrite()
Ø canRead()
Ø isFile()
Ø isDirectory()
文件操作相关
Ø createNewFile()
Ø delete()
获取常规文件信息
Ø lastModified()
Ø length()
Ø 目录操作相关
Ø mkDir()
Ø mkDirs()
Ø list()
Ø listFiles()

在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。如果文件不存在或文件为空时,length()方法返回0

File file = new File("F:\\test.txt");  
if(file.exists() && file.length() == 0) {  
    System.out.println("文件为空!");  
}  

mkdir() 此方法不能在不存在的文件夹下建立新的文件夹。

mkdirs() 如果父文件夹不存在并且最后一级子文件夹不存在,它就自动新建所有路经里写的文件夹;如果父文件夹存在,它就直接在已经存在的父文件夹下新建子文件夹

File.separator 在Windows里面表示   \    (右斜)      在Linux里面表示   /    (左斜)

File.pathSeparator 在Windows里面表示   ;  (分号)   在Linuxlimi里面表示   :   (冒号)

实例:列出目录下所有的文件(包括子目录里面的文件),递归实现

    @Test
    public void fileTest05(){
		File file = new File("d:"+File.separator);
		allFile(file);
		
	}



    public static void allFile(File file){
		if(file != null){
		if(file.isDirectory()){
			File[] f = file.listFiles();
			if(f != null){
				for(int i = 0; i<f.length;i++){
					allFile(f[i]);
				}
			}
		}else{
			System.out.println(file.getName());
		    }
	    }
	}

猜你喜欢

转载自blog.csdn.net/z_ssyy/article/details/82557242