1.文件:File
1.1概念
File类用于描述文件或文件夹
File类由jdk提供
1.2使用步骤
- 创建对象
- 调用方法
1.3File的构造函数
File(String Pathname)
参数:文件或文件夹所在位置
如:
File file=new File(“D:\workspace”);
File(URI uri)
参数:文件或文件夹所在位置
UR中文名:统一资源表示符
UR中文名:统一资源定位符
如:
URI uri=URI.create(“D:\\workspace”)
File(String parent.String child)
参数
Parent:上级文件夹路径
Child:当前文件夹或文件夹名称
如:
New file(“D:”,”workspace”);
File(File parent,String child)
参数:
Parent:上级文件夹对象
Child:当前文件夹或文件夹名称
如:
//file1表示D盘
File file=new File(“D:”);
//file2表示D盘下的workspace文件夹
File file=new File(file1,”workspace”);
注意:
参数中文件或文件夹的位置可以使用相对路径,也可以使用绝对路径
相对路径:
相对于当前项目根目录的位置
绝对路径:
从盘符开始书写,到文件名或者文件夹名结束
特殊符号:
\:windows下的路径分割符
1.4File属性
Separator:静态属性
File.separator:当前系统的路径分割符
File的常用方法
CreatNewFile()
创建文件
Mkdir();
创建一级文件夹
Mkdirs();
创建多级文件夹
Delete();
删除当前文件或空文件夹
不能删除非空文件夹
多级路径只能删除最后一级的文件或文件夹(非空文件夹删不了)
Exists();
判断文件或文件夹是否存在
Length();
获取文件或文件夹字节数
文件的字节数时文件中内容的大小
文件夹字节数为0
getAbsolutePath()
获取文件或文件夹的绝对路径,返回值为String
getabsoluteFile()
获取文件或文件夹的绝对路径,返回值为File型
getName()
获取文件或文件夹名称
getParent()
获取当前文件的上级文件夹路径
isFile()
判断file对象对应的是否为文件
isDirectory()
判断file对象对应的是否为文件夹
listFiles()
获取当前文件夹下所有的文件夹与文件(不包含子级文件与文件夹)
listFiles(FilenameFilter filter)
listFiles(FileFilter filter)
1.5过滤器
FileFilter:文件过滤器
FilenameFilter:文件名过滤器
2.I/O流
2.1作用
将程序中的数据输出(控制台,文件,网络)
或将别的地方的内容(文件,网络)输入到程序中
总结:传输数据
2.2分类
2.2.1按流向分类
输入流:给程序中输入数据
输出流:将程序中的数据输出到别的地方
2.2..2按传输数据的最小单位分类
字节流:传输最小单位字节(byte)
可以传递任何一种数据
字符流:传输最小单位字符(char)
只能传递文本类型的文件
2.2.3按功能分类
节点流:将数据直接读取或直接写入
过滤流:在节点流的基础上增加功能
2.3字节流
2.3.1体系
InputStream:输入字节流的顶级接口
FileInputStream:文件输入流
BufferedInputStream:字节缓冲流(输入流)
ByteArrayInputStream:内存流(输入流)
ObjectInputStream对象流(输入流)
OutputStream:输出字节流的顶级接口
FileOutputStream:文件输出流
BufferedOutputStream:字节缓冲流(输出流)
ByteArrayOutputStream:内存流(输入流)
ObjectOutputStream对象流(输入流)
2.4InputStream提供的方法
Int read()
作用:一次最多读取一字节,返回值就是读取到的数据,如果没有读取到数据返回-1;
Int read(byte b[ ])
作用:一次读取一组字节到数组b中,最多一次可以读b数组长度个字节,返回值为读取到的字节长度,值为-1表示结束
Int read(byte b[],int off,int len)
作用:一次读取一组字节到数组b中,最多可以读取len个长度的字节返回值为读取到的字节长度,值为-1表示结束,off本次读取的字节数据在数组b中存储开始的下标
Void close()
作用:关流
OutputStream提供的方法
Void write(int b)
作用:一次输出一个字节
Void write(byte b[])
作用:将b中的字节一次输出
Void write(byte b[],int off,int len)
作用:将b中的字节从off位置开始输出len个
Void flush
作用:冲刷
Void close
作用:关流
2.5文件字节流
2.5.1FileInputStream
作用:将指定的文件中的数据读取到程序中
构造函数:
FileInputStream(String name)
参数:
Name:指定的文件路径
FileInputStream(File file)
参数:
File:指定的文件
2.5.2FileOutputStream
作用:将程序中的数据传递到指定的文件中
构造函数:
FileOutStream(File file)
参数:
file:指定的文件
FileOutputStream(String name)
参数:
Name:指定的文件路径
FilOutputStream(File file,Boolean append)
参数:
File:指定的文件
Append:是否追加,默认值为false;
注意:
Append为false时,如果指定文件不存在,则新建一级文件夹,如果文件存在,那么删除原有文件后,重新创建
Append为true时,如果指定文件不存在,则新建一级文件夹,如果文件存在,在原有文件尾部写入新内容
FileoutputStream(String name,Boolean append)
参数:
Name:指定的文件路径
Append:是否追加,默认值为false