Java的I/O流——File类

流的概述

流是一组有序的数据序列,根据操作类型,可分为输入流和输出流两种。即I/O(Input/Output,输入/输出)。

输入模式

程序从指向源的输入流中读取源中数据。简单的说就是,程序充文件中读取信息。
在这里插入图片描述

输出模式

程序通过向输出流中写入数据把信息传递到目的地。简单的说就是通过程序将数据传递给文件
在这里插入图片描述

File类

在Java的io包有一个File类,File类是包中唯一代表磁盘文件本身的对象,同时还可以代表文件夹,就是说可以用他来创建文件或者文件夹。同时可以调用File类中的方法,实现创建,删除,重命名文件等操作。(File是代表文件的对象,并不是真正的文件,只是能对这个文件操作)

File类的三种创建的构造方法

在这里插入图片描述
个人比较喜欢第一种的构造方法。

文件(文件夹)的创建与删除

public class Study {
    
    

	public static void main(String[] args){
    
    
		
		File f = new File("word.txt");//创建文件对象
		//创建文件
		try {
    
    
			f.createNewFile();
		} catch (IOException e) {
    
    
			e.printStackTrace();
		}
		
	}
}

调用createNewFile()方法,完成对文件的创建。运行以后就会在你Java项目目录下创建一个word.txt文件,如图所示:
在这里插入图片描述
删除文件调用delete()方法即可

public class Study {
    
    

	public static void main(String[] args){
    
    
		
		File f = new File("word.txt");//创建文件对象
		//创建文件
		try {
    
    
			f.createNewFile();
		} catch (IOException e) {
    
    
			e.printStackTrace();
		}
		
		//删除文件
		f.delete();
	}
}

运行结束后,存在于项目目录下的word.txt就会被删除了。

File类提供了很多方法来获取文件本身信息

方法 作用
getName() 获取文件的名称
canRead() 判断文件是否为可读的
canWrite() 判断文件是否可被写入
exits() 判断文件是否存在
length() 获取文件的长度(单位:字节)
getAbsolutePath() 获取文件的绝对路径
getParent() 获取文件的父路径
isFile() 判断文件是否存在
isDirectory() 判断文件是否为一个目录(文件夹)
isHidden() 判断文件是否为隐藏文件
lastModified() 获取文件最后修改时间
lastFiles() 获取文件夹下的所有子文件及文件夹

File对文件夹的创建与删除

public class Study {
    
    

	public static void main(String[] args){
    
    
		
		File f = new File("word");//创建文件夹对象
		//创建文件夹
		f.mkdir();

	}
}

调用mkdir()方法,完成对文件夹的创建,路径为项目目录内,运行完成后,项目目录里会出现一个word的文件夹
在这里插入图片描述
当你要创建多个文件夹时,只需要在mkdir()方法后面加上一个s,变成mkdirs()方法即可

File f = new File("word/word2/word3");//创建文件夹对象
		//创建文件夹
		f.mkdirs();

在这里插入图片描述
删除文件夹同删除文件的方法一样,delete()方法,但是如果你创建了多个文件夹,他只会删除最后一个文件夹。

猜你喜欢

转载自blog.csdn.net/javanofa/article/details/104409407