Java中把文件或者目录(文件夹)都封装成File对象,如果我们要去操作硬盘上的文件,或者文件夹只要找到File这个类即可,下面小编根据API帮助文档总结一些File类常用功能,分别有:创建、删除、判断、获取、修改以及其他功能…
package com.qx;
import java.io.File;
import java.io.IOException;
/*
* 创建功能
* boolean createNewFile() 当指定文件不存在时创建文件并返回true,否则返回false
* boolean mkdir() 当指定文件夹不存在时创建文件夹并返回true,否则返回false
* boolean mkdirs() 创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了
*
* 删除功能
* boolean delete() 当指定的文件或文件夹存在时删除文件或者文件夹 并返回true,否则返回false
*
* 判断功能
* 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 getAbsoluteFile() 获取文件的绝对路径,返回File对象
* String getAbsolutePath() 获取文件的绝对路径,返回路径的字符串
* String getParent() 获取当前路径的父级路径,以字符串形式返回该父级路径
* File getParentFile() 获取当前路径的父级路径,以字File对象形式返回该父级路径
* String getName() 获取文件或文件夹的名称
* String getPath() 获取File对象中封装的路径
* long lastModified() 以毫秒值返回最后修改时间
* long length() 返回文件的字节数
*
* 修改功能:
* boolean renameTo(File dest) 将当前File对象所指向的路径 修改为 指定File所指向的路径
*
* 其他功能:
* static File[] listRoots() 获取计算机中所有的盘符
*
* 绝对路径:固定不可改变的路径,以盘符开头
* 相对路径:相对某个参照物,不能以盘符开头(在eclipse中相对路径相对应当前项目的根目录)
*/
public class FileDemo {
public static void main(String[] args) throws IOException {
//创建功能
method1();//boolean createNewFile()
method2(); // boolean mkdir()
method3(); //boolean mkdirs()
//删除功能
method4();//boolean delete()
//判断功能
method5(); //boolean exists()
method6(); //boolean isAbsolute()
method7(); //boolean isDirectory() ; boolean isFile()
method8(); //boolean isHidden()
//获取功能
method9(); //File getAbsoluteFile() ; String getAbsolutePath()
method10();//String getParent() ; File getParentFile()
method11(); //String getName() ; String getPath() ; long lastModified() ; long length()
//修改功能
method12(); //boolean renameTo(File dest)
//其他功能
method13(); //static File[] listRoots()
}
private static void method13() {
//static File[] listRoots() : 返回的是所有盘符
File[] files = File.listRoots();
for (File file : files) {
System.out.println(file);
}
}
private static void method12() {
File f = new File("d.txt");
File f2 = new File("e.txt");
//boolean renameTo(File dest) : 将当前File对象所指向的路径 修改为 指定File所指向的路径
//注意:修改的文件路径不能存在,如果存在则修改失败
System.out.println(f.renameTo(f2));
}
private static void method11() {
File f = new File("a.txt");
File f2 = new File("d:\\a\\b.txt");
File f3 = new File("b");
//String getName() : 获取文件和文件夹的名称
//System.out.println(f.getName());
//System.out.println(f2.getName());
//System.out.println(f3.getName());
//String getPath() : 返回创建File对象时给的路径
//System.out.println(f.getPath());
//System.out.println(f2.getPath());
//System.out.println(f3.getPath());
//long lastModified() : 以毫秒值的形式返回最后修改时间
//System.out.println(f.lastModified());
//2514023311294
//Date d = new Date(2514023311294L);
//System.out.println(d.toLocaleString());
//long length() : 返回文件的字节数
System.out.println(f.length());
System.out.println(f3.length());
}
private static void method10() throws IOException {
//File f = new File("a.txt");
//File f2 = new File("b","c.txt");
//System.out.println(f2.createNewFile());
File parent = new File("b");
File f3 = new File(parent,"c.txt");
if(!parent.exists()) {
parent.mkdirs();
}
System.out.println(f3.createNewFile());
//String getParent()
System.out.println(f3.getParent());
//File getParentFile()
System.out.println(f3.getParentFile());
}
private static void method9() {
File f = new File("d:\\a\\b.txt");
File f2 = new File("a.txt");
//File getAbsoluteFile() :以File对象的形式返回当前File对象所有指向的绝对路径
System.out.println(f2.getAbsoluteFile());
//String getAbsolutePath() : 返回File对象所指向的绝对路径
System.out.println(f2.getAbsolutePath());
}
private static void method8() {
File f = new File("d:\\a\\b.txt");
//boolean isHidden()判断File对象指向的路径是否有隐藏属性,如果隐藏了则返回true,否则返回false
System.out.println(f.isHidden());
}
private static void method7() {
File f = new File("a.txt");
File f2 = new File("b");
//boolean isDirectory()判断File对象指向的路径是否是文件夹,如果是则返回true,否则返回false
//boolean isFile()判断File对象指向的路径是否是文件,如果是则返回true,否则返回false
//System.out.println(f.isDirectory());
//System.out.println(f2.isDirectory());
System.out.println(f.isFile());
System.out.println(f2.isFile());
}
private static void method6() {
//File f = new File("a.txt");
File f2 = new File("d:\\a\b.txt");
//boolean isAbsolute()判断File对象指向的路径是否是绝对路径,如果是绝对路径则返回true, 否则返回false
System.out.println(f2.isAbsolute());
}
private static void method5() {
File f = new File("a.txt");
//f.createNewFile();
//boolean exists() 判断文件或者文件夹是否存在,如果存在则返回true,否则返回false
System.out.println(f.exists());
}
private static void method4() {
//boolean delete()当指定的文件或文件夹存在时删除文件或者文件夹 并返回true,否则返回false
File f3 = new File("b");
System.out.println(f3.mkdir());
System.out.println(f3.delete());
File f6 = new File("c");
System.out.println(f6.delete());
}
private static void method3() {
//boolean mkdirs() 创建指定文件夹,当文件夹所在的目录不存在,则顺道一块创建了
File f4 = new File("c\\d\\e");
System.out.println(f4.mkdir());
System.out.println(f4.mkdirs());
File f5 = new File("c.txt");
System.out.println(f5.mkdir());
}
private static void method2() {
//boolean mkdir() 当指定文件夹不存在时创建文件夹并返回true,否则返回false
File f3 = new File("b");
System.out.println(f3.mkdir());
}
private static void method1() throws IOException {
//boolean createNewFile() 当指定文件不存在时创建文件并返回true,否则返回false
File f1 =new File("d:\\a\\b.txt"); //绝对路径
File f2 = new File("a.txt"); //相对路径
System.out.println(f1.createNewFile());
}
}
输出结果截图(建议单个输出看到的效果更清晰)