黑马程序员技术交流社区
标题:
【石家庄校区】IO流
[打印本页]
作者:
巴拉巴拉x
时间:
2018-4-23 14:44
标题:
【石家庄校区】IO流
本帖最后由 小石姐姐 于 2018-4-26 17:21 编辑
IO流
IO流的概述和分类
File类的概述和常用功能
File : 文件和目录
路径的表现形式
是文件和目录的路径名的抽象表现形式
构造方法:
(注意:不会在磁盘上创建这个文件)
File(String pathname);将指定的路径名转换成一个File对象,此对象指向了一个路径.
File(String parent,String chld);根据指定的父路径和文件路径创建File对象
File(File parent, String chile);根据指定的父路径对象和文件路径创建File对象
构造方法只是创建一个对象,指向路径,不是创建文件或文件
File的常用功能
创建功能:
boolean createNewFile();只能创建文件,不能创建目录.
删除功能:
boolean delete();
获取功能
File getAbsoluteFile()
判断功能
boolean exists();判断文件或者文件夹是否存在,如果存在返回true,否则返回false;
boolean isAbsolute();判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true,否则返回false;
boolean isDirectory();判断File对象是否是文件夹,是文件夹则返回true,否则返回false.
boolean isFile();判断File对象是否是文件,是文件则返回true,不是则返回false.
boolean isHidden();判断File对象指向的路径是否有隐藏属性,如果隐藏了返回true,否则返回false.
修改功能(一般修改文件或文件夹的名字)
File类的创建和删除功能
绝对路径:固定不可改变的路径,以盘符开头
相对路径: 相对某个参照物,不能以盘符开头
删除一个文件夹,则他里面不能有目录或文件,
在eclipse中相对路径相对应当前目录的根目录
创建功能
boolean createNewFile();当前
文件
不存在是创建文件并返回true,否则返回flase.只能创建文件,不能创建目录
boolean mkdir();当前指定
文件夹
不存在就创建文件夹并返回true,否则返回flase.
boolean mkdirs();创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了.(创建多级文件夹)
删除功能
boolean delete();当指定的文件或文件夹存在则删除文件或文件夹,并返回true,否则返回false,
如果是多级目录,则删除最后一个,
delete()删除的文件或文件夹不进回收站,直接永久删除!!
File类的获取功能和修改名字功能
File getAbsoluteFile();以File对象的形式返回当前File对象所指向的绝对路径
String getAbsolutePath();返回File对象所指向的绝对路径
String getParent();
String getParentFile();
String getName();获取文件或文件夹的名称
String getPath();返回创建File对象时给的路径.
long getlastModified();以毫秒的形式返回此文件或文件夹最后修改的时间.
long length();返回
文件
的
字节数!!
修改功能
boolean renameTo(File dest);参数是个对象.将当前File对象所指向的路径修改为指定File所指向的路径.
注意: 修改的文件或文件夹的名字不能存在,如果存在返回false,修改不成功.
File的重要获取功能
String[] list();返回的是当前路径下所有的文件和文件夹名称.
注意: 只有指向文件夹的File对象才能使用
File[] listFiles();返回的是当前路径下所有的文件和文件夹的File对象,对象可以调用方法
注意返回值类型,是字符串还是File对象!!
删除指定目录(包含子目录)
先判断是否存在
如果存在判断是否是文件夹
如果是文件夹就获取文件内容存入File对象数组
遍历数组,删除,
删完子文件,删除自己.
IO流
分类
流向
输入流 读取数据 FileReader Reader
输出流 写出数据 FileWriter Writer
数据类型
字节流
字节输入流
InputStream类
字节输出流
OutputStream类
目前用的是io包下的字节输入输出流
字节输出流可以不用刷新(即,不用调用flush())
字符流
字符输入流
Reader类
字符输出流
Writer类
字节流可以处理任何文件,音频,视频,文件都可以,字符流只能处理一部分,字符流可以处理的字节流都可以处理
二进制文件只能使用字节流进行复制(使用windows自带记事本打开读不懂的文件)
文本文件的复制即可使用字节流,也可以使用字符流
字符流复制二进制文件会丢失数据.
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2