java I/O.file类的常用方法
File----->与电脑上的文件或文件夹产生一一对应的映射关系
File是一个类
1.java.io包中
2.文件或目录路径名的抽象表示形式
3.File与真实硬盘中的文件或文件夹 不是一个东西
File是在内存中的一个对象<—映射—>硬盘上的文件或文件夹
File类中的常用的方法
canRead() canWrite() isHidden() isFile() isDirectory()
length()获取文件中字节的个数
lastModified()获取文件最后的修改时间—>毫秒值
*String path = getAbsolutePath() 获取文件的绝对路径 D://test//Test.txt
绝对路径<---->相对路径
绝对路径可以通过完整的字符串 定位盘符 文件夹 文件
相对路径没有盘符的写法 当前工程(项目)所在的位置找寻
C:\Users\Administrator\IdeaProjects\TestFile
String name = getName() 获取文件的名字 Test.txt
*boolean = createNewFile() 创建新的文件
*boolean = mkdir 创建新的文件夹 外层没有 不能创建
*boolean = mkdirs 创建新的文件夹 外层没有 可以自动创建
String pname = getParent() 获取当前file的父亲file名字
*File file = getParentFile() 获取当前file的父亲file对象
String[] names = list() 获取当前file的所有儿子名字
*File[] files = listFiles() 获取当前file的所有儿子对象
*boolean = delete() 删除文件或空的文件夹 不能删除带元素的文件夹
代码示例(我使用的是Mac系统环境,文件路径和Windows略有不同,但是写法一样):
package test;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class demo {
public static void main(String[] args) throws IOException {
File file = new File("/Users/mac/Documents/test.rtf");
String name = file.getName();//获取文件名
String path = file.getAbsolutePath();//返回此抽象路径名的绝对路径名字符串。
boolean can = file.canExecute();//测试应用程序是否可以执行
boolean canread = file.canRead();//测试应用程序是否可以读取
boolean canwrite = file.canWrite();//测试应用程序是否可以修改
boolean ishidden = file.isHidden();//测试此文件是否为隐藏文件
boolean isfile = file.isFile();//测试是否为普通文件。
boolean isisDirectory = file.isDirectory();//测试是否为目录(文件夹)
long length = file.length();//返回由此文件的长度(文件大小)
long time = file.lastModified();//返回此文件上次修改的时间()
//获取时间戳后改成现在时间
//Date date = new Date(time);
//SimpleDateFormat timeing = new SimpleDateFormat("yyyy-MM-dd KK:mm:ss");
//System.out.println(timeing.format(date));
boolean setlast = file.setLastModified(time);//设置由此文件或目录的最后修改时间
File prile = file.getParentFile();//返回此文件的父目录,或抽象路径名 null如果此路径名没有指定父目录。
/*
while (prile!=null){
System.out.println(prile.getAbsolutePath());
prile = prile.getParentFile();
}*/
String pname = file.getParent();//返回此抽象路径名的父 null的路径名字符串,如果此路径名未命名为父目录,则返回null。
File pfile = file.getParentFile();//返回此抽象路径名的父,或抽象路径名 null如果此路径名没有指定父目录。
File file1 = new File("/Users/mac/test/demo.rtf");
//在此路径下创建一个新的目录(文件夹)
boolean value = file1.mkdir();//创建由此抽象路径名命名的目录(外层元素需要真实存在)
boolean values = file1.mkdirs();//创建由此抽象路径名命名的目录 (外层元素没有那么就同时创建)
File file2 = new File("/Users/mac/Documents/demo.rtf");
/*try { //编译时异常检测
boolean fvalue = file2.createNewFile();//创建一个新文件
} catch (IOException e) {
e.printStackTrace();
}*/
}
}