File类
可以对硬盘上的文件以及目录进行操作,如查看文件或目录的属性信息,创建,删除文件/目录.但是不能查看或修改文件的内容,若要修改,应使用输入/输出流.
常用构造器
File(String pathname):指定一个路径,创建一个File对象.
File(File parent,String child):在指定parent路径下,创建一个child的File对象.
File(String parent,String child):在指定parent路径下,创建一个child的File对象.
路径:文件的路径写到文件的扩展名为止.目录的路径写到当前目录名称为止.
常用方法
boolean exists():判断指定位置的File对象是否存在.
boolean isFile():查看指定路径是否是文件.
boolean isDirectory():查看指定路径是否是目录.
String getName():返回对象的名称.
long lastModified():文件最后修改时间(距1970-1-1 0:00:00的毫秒数).
boolean isAbsolute():是否是绝对路径.
String getAbsolutePath():获取绝对路径.
String getParent():获取父路径.
long length():获取文件大小(单位字节).
File[] listFiles:获取目录里的file对象,包括所有文件和子目录.
绝对路径:从根目录盘符开始书写.
Windows:D:\a\f.txt
Linux:/home/scott
以上方法的示例代码如下
import java.io.File;
import java.util.Arrays;
public class FileTest {
public static void main(String[] args) {
File file=new File("File01.txt");
File fileDir=new File("D://FileTest");
/*boolean exists() 判断是否存在这个File对象*/
boolean f=file.exists();
System.out.println("是否存在这个file对象:"+f);
/*boolean isFile():查看指定路径是否是文件.*/
f=file.isFile();
System.out.println("这个对象是否是文件:"+f);
/*boolean isDirectory():查看指定路径是否是目录.*/
f=fileDir.isDirectory();
System.out.println("这个对象是否是目录:"+f);
/*String getName():返回对象的名称.*/
String str=file.getName();
System.out.println("这个对象的名称是:"+str);
/*long lastModified():文件最后修改时间(距1970-1-1 0:00:00的毫秒数).*/
long time=file.lastModified();
System.out.println("最后修改距离纪元的毫秒数:"+time);
/* boolean isAbsolute():是否是绝对路径.*/
f=fileDir.isAbsolute();
System.out.println("是否是绝对路径:"+f);
/*String getAbsolutePath():获取绝对路径.*/
String path=file.getAbsolutePath();
System.out.println("获取绝对路径:"+path);
/*String getParent():获取父路径.*/
path=fileDir.getParent();
System.out.println("父路径:"+path);
/*long length():获取文件大小(单位字节).*/
/*文件内容为 ABCDEFG0123456789 */
long size=file.length();
System.out.println("文件的大小为:"+size+"字节");
/*File[] listFiles:获取目录里的file对象,包括所有文件和子目录.*/
File[] arr=fileDir.listFiles();
System.out.println("该目录下的文件夹及文件:"+Arrays.toString(arr));
}
}
运行结果
是否存在这个file对象:true
这个对象是否是文件:true
这个对象是否是目录:true
这个对象的名称是:File01.txt
最后修改距离纪元的毫秒数:1535192360022
是否是绝对路径:true
获取绝对路径:E:\IDEA\IO\File01.txt
父路径:D:\
文件的大小为:17字节
[D:\FileTest\File1, D:\FileTest\File2]
相对路径:相对某一文件或目录的路径,不是从根目录开始写.
1.f2.txt相对于a目录的路径:
Windows:b\f2.txt
Linux:b/f2.txt
2.f3.txt相对f2.txt的路径.
Windows: ../c/f3.txt
Linux: ..\c\f3.txt
IO流
我们在做项目时,除了自定义的一些数据外,还可能需要从"外界"
引入数据,或者将数据导出到"外界"。这时,我们需要I/O操作。
外界:指的可能是 键盘,显示器,硬盘,另外一个程序。
输入:又叫读入操作
数据时从"外界"流向程序,比如经常使用的Scanner类.
输出:又叫写出操作
数据时从程序流向"外界",比如我们向控制台输出信息.
流: 就是数据序列, 一经创建成功,就会打开一个通道。所以使用完
应该进行关闭操作。
IO流的分类
- 按照流向分类:输入流与输出流
- 按照处理的数据单位分类:字节流与字符流
- 按照功能分类:节点流与处理流