File
Java的集合框架: 类和接口存在于java.util包中.
Java的IO: 类和接口存在于java.io包中.
File类介绍和路径分隔符:
File类是IO包中唯一表示磁盘文件和磁盘目录的对象的路径.
该类包含了创建,删除文件,重命名文件,判断文件读写权限以及文件是否存在,查询等功能方法.
只能设置和获取文件本身的信息,不能设置和获取文件的内容.
Java做开发: 一次编写,到处运行.
Unix: 严格区分大小写.
WIndows: 默认情况下是不区分大小写的.
路径分隔符,属性分隔符:
Unix: 使用”/”,来分割目录路径. 使用:来分割属性.
Windows: 使用”\”,来分割目录路径.但是在Java中一个”\”表示转义,在Windows平台的Java代码中表示一个路径,就得使用两个\\.
但是Windows支持/. 使用;来分割属性.
因为我们不知道以后运行的系统平台是什么,就不知道该如何编写分隔符的问题,因此在File类中提供了两类常量,分别来表示路径分隔符和属性分隔符.
// 获取属性分隔符
String pathSeparator = File.pathSeparator;
char pathSeparatorChar = File.pathSeparatorChar;
// 获取路径分隔符
String separator = File.separator;
char separatorChar = File.separatorChar;
// 表示一个文件的路径
String path = "c:/will/123.txt";
常用方法:
获取File路径和检测状态:
操作File路径和名称:
File getAbsoluteFile() :获取绝对路径
String getAbsolutePath():获取绝对路径
String getPath() :获取文件路径
String getName() :获取文件名称
File getParentFile():获取上级目录文件
String getParent() :获取上级目录路径
检测File状态的方法:
boolean canExecute() :判断是否是可执行文件
boolean canRead() :判断该文件是否可读
boolean canWrite():判断该文件是否可写
boolean isHidden():判断该文件是否是隐藏文件
long lastModified():判断该文件的最后修改时间
long length():获取该文件的长度大小(单位字节)
File类中方法-文件操作:
boolean isFile() :是否是文件
boolean createNewFile() :创建新的文件
static File createTempFile(String prefix, String suffix) :创建临时文件
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() :列出系统盘符
补充:文件过滤器(FilenameFilter)
IO
什么是IO:(Input/Output):输入和输出.
IO设备: 和电脑通信的设备.
输入设备:麦克风,扫描器,键盘,鼠标等.
输出设备:显示器,打印机,投影仪,耳机,音响等.
IO操作是一个相对的过程,一般的,我们在程序角度来思考(程序的内存).
- 程序需要数据: 把数据流入到程序中,输入.
- 程序需要保存数据,把数据传递给别人: 输出.
IO流的分类和操作模板:
IO流的分类,站在不同的角度,分类方式是不一样滴:
1):根据流向划分: 输入流和输出流.
2):根据数据的单位划分: 字节流和字符流.
3):根据功能的划分:节点流和包装流.
四大基流:(字节输出流,字节输入流,字符输出流,字符输入流)
四大基流都是抽象类:其他流都是继承于这四大基流的.
我们不能创建四大基流的对象,只能创建其子类对象.
无论是什么流,都有close方法,用来关闭资源.
如果操作文件,就得开通一个流对象关联我们得磁盘文件,如果不关闭资源,那么磁盘的文件一直被程序所引用着,不能删除,也不能更改.
操作IO流的模板:
1):创建源或者目标对象(挖井).
拿文件流举例:
输入操作: 把文件中的数据流向到程序中,此时文件是源,程序是目标.
输出操作: 把程序中的数据流向到文件中,此时文件是目标,程序是源.
2):创建IO流对象(水管).
输入操作: 创建输入流对象.
输出操作: 创建输出流对象.
3):具体的IO操作.
输入操作: 输入流对象的read方法.
输出操作: 输出流对象的write方法.
4):关闭资源(勿忘). 一旦资源关闭之后,就不能使用流对象了,否则报错.
输入操作: 输入流对象.close();
输出操作: 输出流对象.close().
操作IO流的六字箴言:
读进来,写出去.
读进来: 进来强调了是输入, 读说明是read方法.
写出去: 出去强调了是输出,写说明是write方法.
网友评论