二十一次

本文详细介绍了Java中的File类,包括文件的创建、删除、判断及路径操作。同时,讲解了IO流的基本概念,如字节流和字符流的分类,以及字节流的写入数据操作。通过示例代码展示了如何使用FileOutputStream进行数据写入,并探讨了在不同场景下选择使用字节流或字符流的策略。
摘要由CSDN通过智能技术生成

目录
一.File类
Fie类概述和构造方法使用
二.
IO流介绍
字节流写入数据
I0流:是一种抽象概念,是对数据传输的总称。也就是说数据在设备间的传输称为流,流的本质是数据传
输I0流就是用来处理设备间数据传输问题的。常见的应用:文件复制;文件上传;文件下载
10流的分类
按照数据的流向
输入流:读数据
输出流:写数据
按照数据类型来分
字节流
字节输入流
1字节输出流
字符流
字符输入流
字符输出流
I0流的使用场景
如果操作的是纯文本文件,优先使用字符流
如果操作的是图片、视频、音频等二进制文件。 优先使用字节流
如果不确定文件类型,优先使用字节流。字节流是万能的流

2.字节流写数据
字节流抽象基类
InputStream :这个抽象类是表示字节输入流的所有类的超类
OutputStream :这个抽象类是表示字节输出流的所有类的超类
子类名特点:子类名称都是以其父类名作为子类名的后缀
字节输出流
FileOutputStream(String name) :创建文件输出流以指定的名称写入文件
使用字节输出流写数据的步骤
创建字节输出流对象(调用系统功能创建了文件,创建字节输出流对象,让字节输出流对象指向文件)
调用字节输出流对象的写数据方法
释放资源(关闭此文件输出流并释放与此流相关联的任何系统资源)

file类
创建一个文件/文件夹
删除一个文件、文件夹
获取文件、文件夹
判断文件或者文件夹
对文件进行遍历
获取文件大小

File 是一个与操作系统无关的类

记住三个单词
file: 文件 directory:目录、文件夹 path:路径
package Demo01;

import java.io.File;
import java.io.IOException;

public class Demo01File {
public static void main(String[] args) throws IOException {

	//路径分割符
	String pathSeparator=File.pathSeparator;
	System.out.println(pathSeparator);
	
	String separator=File.separator;
	System.out.println(separator);//文件名称分割符 \   linux:/root/home
	// 绝对路径 D:\学习
	//相对路径../../
	
	
	/ow01();
	/ow02("D:\\java学习\\测试");
	show03();
	//常用方法演示
	show08();
	show09();
	show10();

}
private static void show12() {
	//如果路径不存在直接返回false
	File f1=new File("E:\\eclipse");
	boolean b1=f1.delete();
	System.out.println(b1);
	//直接从硬盘删除
	File f2=new File("rxp\\1\\2\\3\\4\\hello.java");//相对路径,但是会补齐
	boolean b2=f2.delete();
	System.out.println(b2);
}
private static void show11() {
	
	File f1=new File("E:\\eclipse");
	boolean b1=f1.mkdir();
	System.out.println(b1);
	
	File f2=new File("E:\\eclipse\\rxp\\1\\2\\3\\4\\hello.java");
	boolean b2=f2.mkdirs();//递归创建文件
	System.out.println(b2);
	
}
private static void show10() throws IOException {
	
	File f1=new File("E:\\eclipse\\hello.java");
	
	boolean b1=f1.createNewFile();
	System.out.println(b1);
	
	//第二次执行的时候返回true  因为文件 存在
	File f2=new File("E:\\eclipse\\新建文件夹");
	//不要看文件的名字,  必须看类型
	boolean b2=f2.createNewFile();
	System.out.println(b2);
	
}
private static void show09() {
	
	File f1=new File("E:\\eclipse");
	if(f1.exists()) {//返回true,进入if语句
		System.out.println(f1.isDirectory());
		System.out.println(f1.isFile());
	}
	System.out.println("===============");
	
	File f2=new File("E:\\eclipse");
	if(f2.exists()) {//不存在返回false所以不会进入if语句
		System.out.println(f2.isDirectory());
		System.out.println(f2.isFile());
	}
	System.out.println("===============");
	File f3=new File("E:\\eclipse");
	if(f3.exists()) {
		System.out.println(f3.isDirectory());
		System.out.println(f3.isFile());
	}
	
	
	
}
private static void show08() {
	File f1=new File("E:\\eclipse");
	System.out.println(f1.exists());//ture
	
	File f2=new File("E:\\eclipse\\word");
	System.out.println(f2.exists());//false
}
//注意 文件夹没有大小的概念,不能获取文件夹的大小
private static void show07() {
	File f1=new File("E:\\eclipse");
	System.out.println(f1.length());//文件夹的大小是0
	
	File f2=new File("E:\\eclipse\\word");
	System.out.println(f2.length());//不存在的文件夹,打印大小为0
	
	File f3=new File("E:\\eclipse\\123.txt");
	System.out.println(f3.length());
}
private static void show06() {
	File f1=new File("E:\\eclipse\\hello");
	File f2=new File("E:\\eclipse");
	//获取的是构造方法传递路径结尾部分
	System.out.println(f1.getName());
	System.out.println(f2.getName());
	
}
private static void show05() {
	File f1=new File("E:\\eclipse");
	File f2=new File("a.txt");
	
	String path1=f1.getPath();
	System.out.println(path1);
	System.out.println(f2.getPath());
	
	System.out.println(f1);
	System.out.println(f1.toString());
}
private static void show04() {
	File f1=new File("E:\\eclipse");
	String absolutepath1=f1.getAbsolutePath();
	System.out.println(absolutepath1);
	
	File f2=new File("hell.java");
	String absolutepath2=f2.getAbsolutePath();
	System.out.println(absolutepath2);
}
private static void show03() {
	File parent=new File("E:\\eclipse");
	
	File f1=new File(parent,"hello.java");
	System.out.println(f1);
}
private static void show02(String parent,String child) {
	
	File f1= new File("E:\\eclipse");
	System.out.println(f1);
	
	//仅仅是创建了File这样的对象,并不会真去检验路径的正确与否
	File f2= new File("E:\\eclipse");
	System.out.println(f2);
	
	File f3= new File("b.txt");
	System.out.println(f3);
}

private static void show01() {

	File f1= new File("E:\\eclipse");
	System.out.println(f1);
	
	//仅仅是创建了File这样的对象,并不会真去检验路径的正确与否
	File f2= new File("E:\\eclipse");
	System.out.println(f2);
	
	File f3= new File("b.txt");
	System.out.println(f3);
	
	
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值