一、File类的使用
1.创建File对象
package com.itheima.d1_file;
import java.io.File;
/**
目标:学会创建File对象定位操作系统的文件(文件 文件夹的)
*/
public class FileDemo {
public static void main(String[] args) {
// 1、创建File对象(指定了文件的路径)
// 路径写法: D:\resources\xueshan.jpeg
// D:/resources/xueshan.jpeg
// File.separator
// File f = new File("D:\\resources\\xueshan.jpeg");
// File f = new File("D:/resources/xueshan.jpeg");
File f = new File("D:" + File.separator+"resources"+ File.separator +"xueshan.jpeg");
long size = f.length(); // 是文件的字节大小
System.out.println(size);
// 2、File创建对象,支持绝对路径 支持相对路径(重点)
File f1 = new File("D:\\resources\\beauty.jpeg"); // 绝对路径
System.out.println(f1.length());
// 相对路径:一般定位模块中的文件的。 相对到工程下!!
File f2 = new File("file-io-app/src/data.txt");
System.out.println(f2.length());
// 3、File创建对象 ,可以是文件也可以是文件夹
File f3 = new File("D:\\resources");
System.out.println(f3.exists()); // 判断这个路径是否存在,这个文件夹存在否
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/5dd66a980fa5ac6ad5987e91f858a2cc.png)
2.常用方法:判断文件类型、获取文件信息
3.常用方法:创建文件、删除文件功能
![](https://i-blog.csdnimg.cn/blog_migrate/a4e8530d7df80920effe72459bb96849.png)
4.常用方法:遍历文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/e674dbc55216180692620d4d75ead220.png)
二、IO流:概述
package com.itheima.d3_charset;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;
/**
目标:学会自己进行文字的编码和解码,为以后可能用到的场景做准备。
*/
public class Test {
public static void main(String[] args) throws Exception {
// 1、编码:把文字转换成字节(使用指定的编码)
String name = "abc我爱你中国";
// byte[] bytes = name.getBytes(); // 以当前代码默认字符集进行编码 (UTF-8)
byte[] bytes = name.getBytes("GBK"); // 指定编码
System.out.println(bytes.length);
System.out.println(Arrays.toString(bytes));
// 2、解码:把字节转换成对应的中文形式(编码前 和 编码后的字符集必须一致,否则乱码 )
// String rs = new String(bytes); // 默认的UTF-8
String rs = new String(bytes, "GBK"); // 指定GBK解码
System.out.println(rs);
}
}
三、IO流:字节流
1.字节输入流:每次读取一个字节
package com.itheima.d4_byte_stream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
/**
目标:字节输入流的使用。
IO流的体系:
字节流 字符流
字节输入流 字节输出流 字符输入流 字符输出流
InputStream OutputStream Reader Writer (抽象类)
FileInputStream FileOutputStream FileReader FileWrit er(实现类,可以使用的)
文件字节输入流:FileInputStream
-- 作用:以内存为基准,把磁盘文件中的数据以字节的形式读取到内存中去。
按照字节读文件数据到内存中。
-- 构造器:
public FileInputStream(File file):创建字节输入流管道与源文件对象接通
public FileInputStream(String pathname):创建字节输入流管道与源文件路径接通。
-- 方法:
public int read(): 每次读取一个字节返回,读取完毕返回-1。
小结:
一个一个字节读取中文数据输出其实是被淘汰的,性能极差!
一个一个字节读取中文数据输出