1、File(文件)
-
常用API
(1) 该文件存放的绝对路径 String getAbsolutePath() (2) 该文件的文件名 String getName() (3) 该文件是否可写 boolean canWrite() (4) 该文件是否可读; boolean canRead() (5) 该文件是否为隐藏文件 boolean isHidden() (6) 该文件的长度 long length() (7) 该文件的最后修改时间 long lastModified() (8) 获取父级的目录 File getParentFile() (9) 判断是否存在 boolean exists() (10)只能创建一级目录 boolean mkdir() (11)能够创建多级目录 boolean mkdirs() (12)创建一个新文件 boolean createNewFile() (13)判断是否是目录 isDirectory()
-
绝对路径和相对路径(parent)
- 绝对路径: 绝对路径就是你的主页上的文件或目录在硬盘上真正的路径
- 相对路径: 相对与某个基准目录的路径
2、IO流的分类
- 功能区分: 输入流(读InputStream / Reader)/输出流(写OutputStream / Writer)
- 单位区分: 字节流(InputStream / OutputStream)/字符流(Reader / Writer)
3、FileInputStream(文件输入流)
- 常用API
- void close()
//关闭此文件输入流并释放与此流有关的所有系统资源。- int read()
//从此输入流中读取一个数据字节。- int read(byte[] b)
//从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。- int read(byte[] b, int off, int len)
//从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。
public void test() throws IOException{
//硬盘中的文件file
File file = new File("E:\\Test.txt");
//创建file文件的文件输入流
InputStream is = new FileInputStream(file);
int length = 0;//一次读取的字节长度
byte[] bytes = new byte[1024]; //存储读取到的字节
while( ( length = is.read(bytes) ) != -1){ //读取文件
//将读取到的字节转换成字符打印
System.out.println(new String(bytes,0,length));
}
os.close(); //关闭输入流
}
4、FileOutputStream(文件输出流)
- 常用API
- void close()
//关闭此文件输出流并释放与此流有关的所有系统资源。- void write(byte[] b)
//将 b.length 个字节从指定 byte 数组写入此文件输出流中。- void write(byte[] b, int off, int len)
//将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。- void write(int b)
//将指定字节写入此文件输出流。
public void test() throws IOException{
//需要创建的文件file
File file = new File("D:\\Test.txt");
//创建file文件的文件输出流
OutputStream os = new FileOutputStream(file);
//定义需要写入的文字
String str = "需要写入的文字";
//将需要写入的字符转成字节数组
byte[] bytes = str.getBytes();
os.write(bytes); //写入字节数组
os.close(); //关闭输出流
}