IO流
Posted 款款就是我
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IO流相关的知识,希望对你有一定的参考价值。
一.file类
File类是io包中唯一表示磁盘文件和磁盘目录的对象的路径
该类包含了创建、删除文件、重命名文件、判断文件是否存在,查询等功能
注意:只能设置和获取文件本身的信息,不能设置和获取文件的具体内容
C:\\\\JAVAprogram\\\\Java\\\\jdk1.8.0_111
获取File路径
操作file路径和名称
File getAbsoluteFile() :获取绝对路径
String getAbsolutePath() :获取绝对路径
String getPath() :获取文件路径
String getName :获取文件名称
File getParentFile() :获取上级目录文件
String getparent() 获取上级目录路径
检测File状态的方法
boolean canExcute() 是否可执行文件
boolean canRead() 是否可读
boolean canWrite() 是否可写
boolean isHidden() 是否隐藏
long lastModified() 判断文件最后修改时间
long length() 文件长度大小(字节)
File类中方法-文件操作
Boolean isFile() 是否是文件
Boolean createNewFile() 创建新的文件
Boolean delete() 删除文件
Void deleteOnExit() 在jvm停止时删除文件
Boolean exists() 判断文件是否存在
Boolean renameTo(File dest) 重新修改名字
File类中方法-目录操作
Boolean isDirectory() 判断是否是目录
Boolean mkdir() 创建当前目录
Boolean mkdirs() 创建当前目录和上级目录
String[] list() 列出所有的文件名
File[] listFiles() 列出所有文件对象
Static File[] listRoots() 列出系统盘符
二.IO操作
什么是IO(input/output):输入和输出
IO设备:和电脑通信的设备
输入设备:麦克风、键盘、鼠标
输出设备:打印机、显示器、投影仪
为什么程序需要IO
案例1.打游戏操作,得分较高,存储游戏的信息
此时需要把游戏中的数据存储起来,只能存储在文件中。
案例2.打游戏操作,查看英雄榜,数据存储在文件中,需要去访问文件内容
案例3.上传和下载
IO操作是个相对的过程:
程序需要数据:把数据流入到程序中>>>输入
程序保存数据:把数据输出到文件中>>>输出
IO流的分类
站在不同的角度,分类的方式是不一样的:
1.根据流向划分:输入流 输出流
2.根据数据的单位划分:字节流 字符流
3.根据功能不同的划分:节点流 包装流
四大基流:字节输入流 字节输出流 字符输入流 字符输出流
四大基流都是抽象类,其他流都是继承于这四大流
我们不能创建四大基流的对象,只能创建其子类对象。无论是什么流,都有close()方法,用来关闭资 源。
如果操作文件,就得开通一个流对象关联我们的磁盘文件,如果不关闭资源,磁盘的文件一直被程序引用着,不能删除也不能修改。
操作IO流的步骤/模板:
1.创建源或者目标对象(水井)。
文件流 输入操作:文件中的数据流向程序,此时文件是源,程序是目标
输出操作:把程序中的数据流向文件中,文件是目标,程序是源
2.创建IO流对象(水管)
输入操作:创建输入流对象
输出操作:创建输出流对象
3.具体的IO操作
输入操作:输入流对象的 read 方法
输出操作:输出流对象的write方法
4.关闭资源/释放资源
输入操作:输入流对象的close()方法
输出操作:输出流对象的close()方法
IO操作:读进来,写出去
读进来:强调的是输入,说明是用read方法
写出去:强调的是输出,说明是用write方法
文件流:程序和文件打交道
此时谈论的文件是纯文本文件(txt记事本)
FileInputStream 文件的字节输入流
FileOutputStream 文件的字节输出流
FileReader 文件的字符输入流
FileWriter 文件的字符输出流
以上是关于IO流的主要内容,如果未能解决你的问题,请参考以下文章