1.File类代表一个特定的文件或者目录(文件夹),
2.创建一个File实例的方法
①根据路径名字创建一个新的File实例
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\Program_Files\\java PPT"); //表示一个路径
file = new File("D:\\软件\\201816040128\\syy.doc"); //表示一个文件
}
}
②根据父目录路径File实例和子目录或文件路径创建一个新 File 实例
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File( new File("D:\\软件\\201816040128\\"),"syy.doc");
//等效于new File("D:\\软件\\201816040128\\","syy.doc")
}
}
③根据父目录路径和子目录或文件路径创建一个新 File 实例
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\软件\\201816040128\\","syy.doc");
}
}
"D:\\软件\\201816040128\\"
这个最后的冒号之前的\\不能省略
3.File对象常用的方法
①file.isDirectory() 判断是否是文件夹,返回true或false
②file.isFile() 判断是否是文件,返回true或false
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\Program_Files\\java PPT");
if(file.isDirectory()) {
System.out.println("yes");
}
file = new File("D:\\软件\\201816040128\\syy.doc");
if(file.isFile()) {
System.out.println("yes");
}
}
}
运行结果:
③file.getPath() 得到file文件的路径,返回一串字符
④file.getName() 返回file表示的文件或目录最后一级文件夹名称,返回的是String类型
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\软件\\201816040128\\","syy.doc");
System.out.println(file.getPath());
System.out.println(file.getName());
}
}
运行结果
⑤file.getParent() 返回此File对象的父目录路径名;如果此路径名没有指定父目录,则返回 null
⑥file.getParentFile().getPath() 返回File对象所在的父目录File实例;如果File对象没有父目录,则返回 null
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\软件\\201816040128\\","syy.doc");
System.out.println(file.getParent());
System.out.println(file.getParentFile().getPath());
//file.getParentFile()相当于是new File(file.getparent())
}
}
运行结果
⑦file.renameTo(new File(“D:\软件\201816040128\syy123.doc”)) 重新命名此File对象表示的文件,重命名成功返回true,否则返回false。
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
File file = new File("D:\\软件\\201816040128\\syy.doc");
if(file.renameTo(new File("D:\\软件\\201816040128\\syy123.doc"))) {
System.out.println("yes");
}
}
}
改之前
修改文件名字之后
⑧
(1)new File(“D:\aa”).mkdir() 创建此File类对象指定的目录,不包含父目录。创建成功回true,否则返回false;只能创建一层文件夹,也就是在D盘根目录。
(2)new File(“D:\aaa\bbb\ccc”).mkdirs() 创建此File对象指定的目录,包括所有必需但不存在的父目录,创建成功返回true;否则返回false。注意,此操作失败时也可能已经成功地创建了一部分必需的父目录。创建多层文件夹。
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
if(new File("D:\\aa").mkdir()) {
System.out.println("yes");
}
if(new File("D:\\aaa\\bbb\\ccc").mkdirs()) {
System.out.println("yes");
}
}
}
⑨new File(“D:\软件\201816040128\syy123.doc”).exists()可以检查文件或者文件夹是否存在,成功返回true ,否则返回false。
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
if(new File("D:\\软件\\201816040128\\syy123.doc").exists()) {
System.out.println("yes");
}
if(new File("D:\\软件").exists()) {
System.out.println("yes");
}
}
}
⑩new File(“D:\a.text”).createNewFile()创建一个新的文件,成功返回true 失败返回false
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
try {
if(new File("D:\\a.text").createNewFile()) {
System.out.println("yes");
}
} catch (IOException e) {
e.printStackTrace();
}
在D:盘根目录下创建了一个a.text文件
(11)new File(“D:\aaa\bbb\ccc”).delete()删除文件,只能删除目录最后一级文件,而且要删除的最后一级文件夹必须为空的,返回的是Boolean类型
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
if(new File("D:\\aaa\\bbb\\ccc").delete()) {
System.out.println("yes");
}
}
}
(12)new File(“D:”+File.separator+“Program_Files”).list(); 得到这个目录下的文件名,返回的是String类型
(13)new File(“D:”+File.separator+“Program_Files”).listFiles(); 得到这个目录下的文件路径,返回的是文件File类型
(14)将\换成->"+File.separator+",在windows和Linux不同操作系统中,文件路径表示方法不同,"+File.separator+"可以在windows和Linux系统中都能使用。
package file;
import java.io.File;
public class Test {
public static void main(String[] args) {
String [] names = new File("D:"+File.separator+"Program_Files").list(); //得到文件名
for (String name : names) {
System.out.println(name);
}
File [] files = new File("D:"+File.separator+"Program_Files").listFiles(); //得到文件路径
for (File file : files) {
System.out.println(file.getPath());
}
}
}
4.绝对路径和相对路径
①绝对路径:从盘符开始的路径。
相对路径:从当前路径开始的路径。
②./ 代表同级目录
…/ 代表一级上级目录(间隔一个目录)
输入cd /d …/是跳转到上级目录
输入cd /d ./是跳转到当级目录