Java-IO之File类

IO之File类

I/O相关 输入/输出 流(数据流动)
数据流动的方向 读数据(输入Input) 写数据(输出output)
文件流 字符流 对象流 网络流…
1.什么叫文件
一种电脑的存储形式
文件有不同的格式 .txt .doc .ppt .mp4 .jpg .rar …
文件夹?----目录路径
File----->与电脑上的文件或文件夹产生一一对应的映射关系
File是一个类
1.java.io包中

2.文件或目录路径名的抽象表示形式
3.File与真实硬盘中的文件或文件夹 不是一个东西
File是在内存中的一个对象<—映射—>硬盘上的文件或文件夹
4.File类中的常用的方法
canExecute() 判断是否可以执行此抽象路径名表示的文件。
canRead() 测试应用程序是否可以读取由此抽象路径名表示的文件。
canWrite() 测试应用程序是否可以修改由此抽象路径名表示的文件。
isHidden() 测试此抽象路径名命名的文件是否为隐藏文件。
isFile() 指的是判断当前的File文件是否为一个文件。
isDirectory() 指的是判断当前的FIle文件是否为一个目录。

package testfile;
import java.io.File;

public class TestFile {
	public static void main(String[] args) {
		//file对象不是真正的文件
		//file对象是堆内存中创建出来的一个对象空间
		//路径是看创建的对象,是否能与硬盘中 的一个真实文件产生对应映射关系
		
		//通过文件流去读取文件的内容时会出现问题
		
		//系统内硬盘上的文件名字是不区分大小写的,内存中FIle对象的名字是区分大小写的
		File file = new File("D://test//Test.txt");
		//文件本身的一些属性
		System.out.println(file.canExecute());
		System.out.println(file.canRead());
		System.out.println(file.canWrite());
		System.out.println(file.isHidden());
	}
}
    length()获取文件中字节的个数
	lastModified()获取文件最后的修改时间--->毫秒值
package testfile;
import java.io.File;

public class TestFile {
	public static void main(String[] args) {
        File file = new File("D://test//Test.txt");
		long l = file.length();
        System.out.println(l);
        long time = file.lastModified();//获取文件最后修改时间
        Date date = new Date(time);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss");
        System.out.println(sdf.format(date));
	}
}

*String path = getAbsolutePath() 获取文件的绝对路径 D://test//Test.txt
绝对路径<---->相对路径
绝对路径可以通过完整的字符串 定位盘符 文件夹 文件
相对路径没有盘符的写法 例如:test//Test.txt 当前工程(项目)所在的位置找寻
C:\Users\Administrator\IdeaProjects\TestFile
String name = getName() 获取文件的名字 Test.txt

File file = new File("D://test//Test.txt");
		
		String name = file.getName();//文件的名字  Test.txt
		String path = file.getAbsolutePath();//文件的绝对路径 D://test//Test.txt
		System.out.println(name);
		System.out.println(path);
	   *boolean = createNewFile()  创建新的文件
       *boolean = mkdir	              创建新的文件夹  外层没有 不能创建
	   *boolean = mkdirs             创建新的文件夹  外层没有 可以自动创建
public static void main(String[] args){
    //创建一个file对象
    File file = new file("D://test//abc.txt");
    //通过这个对象,然后在硬盘上创建文件
    try{
        boolean value = file.creatNewFile();//编译时异常
        System.out.println(value);
    }catch(IOException e){
        e.printStackTrace();
    }
}
public static void main(String[] args){
    //创建一个新的file对象
    File file = new File("D:test//aaa");
    //在硬盘上创建一个新的文件夹
    boolean value = file.mkdir();//外层(父元素)真实存在,只能父元素下面的子元素的文件夹。
    /*
    File file = new File("D://test//bbb/inner");
    boolean value = file.mkdirs();当外层文件夹(父元素)不存在时,先创建父元素再创建子元素文件夹。
    */
    System.out.println(value);
}
	String pname = getParent()  获取当前file的父亲file名字
	*File file = getParentFile() 获取当前file的父亲file对象
public static void main(String[] args){
    File file = new File("D://test//Test.txt")
    String pname = file.getParent();//获取file的父元素的名字-->test
    File path = file.getParentFile();//当前file的父元素的对象  file--> D://test
	System.out.println(name);
	System.out.println(path);
}
	String[] names = list()            获取当前file的所有儿子名字
	*File[] files = listFiles()             获取当前file的所有儿子对象
	*boolean = delete()	删除文件或空的文件夹  不能删除带元素的文件夹
public static void main(String[] args){
		File file = new File("D://test//Test.txt");
		File[] files = file.listFiles();
		System.out.println(files);
		//数组对象为空,证明当前的file是一个文件
		//数组对象不为空,证明当前的file是一个文件夹
		//数组的长度不为0,证明当前的file是一个空的文件夹,文件夹内有元素
		File file0 = new File("D://test/aaa");
		boolean value = file.delete();
		Sytem.out.pritln(value); 
		//当删除的文件夹有内容就不会删除。
}
null
true

2.什么叫文件流 做什么
读取文件中的内容 向文件中写内容
文件输入流 文件输出流
字节型文件输入流 字节型文件输出流
字符型文件输入流 字符型文件输出流

发布了54 篇原创文章 · 获赞 17 · 访问量 2441

猜你喜欢

转载自blog.csdn.net/qq_44096670/article/details/103658458
今日推荐