三 java基础下
1 IO之File类
I/O相关 输入/输出 流(数据流动)
数据流动的方向 读数据(输入Input) 写数据(输出output)
文件流 字符流 对象流 网络流....
1.什么叫文件
一种电脑的存储形式
文件有不同的格式 .txt .doc .ppt .mp4 .jpg .rar ...
文件夹?----目录路径
File----->与电脑上的文件或文件夹产生一一对应的映射关系
File是一个类
1.java.io包中
2.文件或目录路径名的抽象表示形式
3.File与真实硬盘中的文件或文件夹 不是一个东西
File是在内存中的一个对象<---映射--->硬盘上的文件或文件夹
4.File类中的常用的方法
canRead() canWrite() isHidden() isFile() isDirectory()
length()获取文件中字节的个数
lastModified()获取文件最后的修改时间--->毫秒值
*String path = getAbsolutePath() 获取文件的绝对路径 D://test//Test.txt
绝对路径<---->相对路径
绝对路径可以通过完整的字符串 定位盘符 文件夹 文件
相对路径没有盘符的写法 当前工程(项目)所在的位置找寻
C:\Users\Administrator\IdeaProjects\TestFile
String name = getName() 获取文件的名字 Test.txt
*boolean = createNewFile() 创建新的文件
*boolean = mkdir 创建新的文件夹 外层没有 不能创建
*boolean = mkdirs 创建新的文件夹 外层没有 可以自动创建
String pname = getParent() 获取当前file的父亲file名字
*File file = getParentFile() 获取当前file的父亲file对象
String[] names = list() 获取当前file的所有儿子名字
*File[] files = listFiles() 获取当前file的所有儿子对象
*boolean = delete() 删除文件或空的文件夹 不能删除带元素的文件夹
2.什么叫文件流 做什么
读取文件中的内容 向文件中写内容
文件输入流 文件输出流
字节型文件输入流 字节型文件输出流
字符型文件输入流 字符型文件输出流
2 FileInputStream字节文件输入流、FileOutputStream字节文件输出流
字节型文件输入流
FileInputStream
1.包 java.io
2.了解一下继承关系 InputStream类 字节型输入流的父类
3.创建对象
调用一个带File类型的构造方法
调用一个带String类型的构造方法
4.常用方法
int code = read(); 每次从流管道中读取一个字节 返回字节的code码
*int count = read(byte[] ) 每次从流管道中读取若干个字节 存入数组内 返回有效元素个数
int count = available(); 返回流管道中还有多少缓存的字节数
skip(long n) 跳过几个字节 读取
多线程--->利用几个线程同时读取文件
10000字节 5个小人同时读取
1-2000 2001-4000 4001-6000 6001-8000 8001-10000
D当做服务器 E当做客户端
*close() 将流管道关闭---必须要做 最好放在finally里 注意代码的健壮性 判断严谨
字节型文件输出流
FileOutputStream 将数据写入文件中
1. java.io
2.继承OutputStream 所有字节型输出流的父类
3.创建对象
调用一个带File参数 还有File boolean重载
调用一个带String参数 还有String boolean重载
4.常用方法
write(int code); 将给定code对应的字符写入文件 '='
write(byte[]) 将数组中的全部字节写入文件 getByte()
flush(); 将管道内的字节推入(刷新)文件
close(); 注意在finally中关闭
3 字符输出流FileReader、字符输入流FileWrite
字符型文件流
FileReader FileWriter
只能操作纯文本文件(文件右键打开方式 记事本打开