File类简介
存储在变量,数组和对象中的数据是暂时的,当程序终止时他们就会丢失.为了能够永久的保存程序中创建的数据,需要将他们存储到硬盘或光盘的文件中。为了操作这些文件,我们需要学习一个和文件有密切关系的类,叫做File类。
提示: windows系统中以/或\来进行文件路径之间的分隔,而linux以/分隔,如果要让代码跨平台可以使用File.separatorChar自动根据系统来匹配分隔符。
File类常用方法
package com.woniuxy;
import java.io.File;
import java.io.IOException;
/**
* File类
* 供用户去操作文件的属性
*
* 文件的存储单位
* 1byte = 8bit
* 1KB = 1024byte
* 1MB = 1024KB
* 1GB = 1024GB
* 1TB = 1024GB
* 1PB = 1024TB
*/
public class FileTest {
public static void main(String[] args) throws IOException {
//1.写路径--windows系统中可以使用\\或者/表示文件路径
String path1 = "D:\\woniu\\hello.txt";
//2.把一个文件转换成File对象
File file = new File(path1);
//1.创建文件
boolean createNewFile = file.createNewFile();
if(createNewFile) {
System.out.println("文件创建成功");
}else {
System.out.println("文件已经存在");
}
//2.删除文件
// boolean delete = file.delete();
// if(delete) {
// System.out.println("删除成功");
// }else {
// System.out.println("删除失败");
// }
//3.判断文件是否存在
boolean exists = file.exists();
if(exists) {
System.out.println("文件存在");
}else {
System.out.println("文件不存在");
}
//4.判断给定的一个路径是否是一个目录(文件夹)
String path2 = "D:\\woniu";
File file2 = new File(path2);
boolean directory = file2.isDirectory();
if(directory) {
System.out.println("是文件夹");
}else {
System.out.println("是文件");
}
//5.判断给定的路径是否是一个文件
boolean isFile = file2.isFile();
if(isFile) {
System.out.println("是文件");
}else {
System.out.println("是文件夹");
}
//6.获取文件的大小
long length = file.length();
System.out.println(length);
//7.列出指定目录的全部内容,只是名称
String path3 = "D:\\";
File file3 = new File(path3);
String[] list = file3.list();
for (int i = 0; i < list.length; i++) {
System.out.println(list[i]);
}
//8.列出指定目录的全部文件的 File对象
File[] listFiles = file3.listFiles();
for (int i = 0; i < listFiles.length; i++) {
System.out.println(listFiles[i]);
}
//9.创建一个目录(文件夹)
String path4 = "D:\\woniu\\a";
File file4 = new File(path4);
file4.mkdir();
//10创建多级文件夹
String path5 = "D:\\woniu\\b\\c\\d";
File file5 = new File(path5);
file5.mkdirs();
}
}