File类
File类的构造方法
此类是在java.io包下面的一个类
File(String pathname)
此为该类的其中一个构造方法其中的参数为要操作的路径,其中需要注意的是“\”此符号为盘符不过在不同操作系统下盘符的表示也不同,为了java的可以执行可以用File类中的静态属性separator来表示。
实例
File file=new File("d:"+File.separator+"Demo");
createNewFile()方法
通过此方法可以创建文件,此方法的返回值是一个boolean类型,调用此方法会抛出一个异常IOException所以调用则需要抛出异常
创建案例
package com.Ming.file;
import java.io.*;
public class FileDemo01 {
public static void main(String[] args) {
File file=new File("D:\\Demo.text");//用\表示的是Java中的转义符,所以用了双斜杠
try{
file.createNewFile();//此方法会抛出一个IO异常
System.out.println("成功执行");
}catch (Exception e){
e.printStackTrace();
}
}
}
exists()方法
此 方法判断抽象路径名所表示的文件或者是目录是否是存在的若是存在则返回true否则返回false
实例
package com.Ming.file;
import java.io.*;
public class FileDemo02 {
public static void main(String[] args)throws IOException {
File file =new File("D:"+File.separator+"Demo");//File.separator是该类中的一个属性,值是”\“这样就能解决在不同操作系统中来给出路径了
if (file.exists()){//判断要创建的文件在给出的路径下是否存在,如果存在则删除此文件如果不存在则创建此文件
file.delete();
}else {
file.createNewFile();
}
}
}
delete()方法
此方法是用来删除给定抽象路径下的指定文件或者路径,返回值boolean,返回值为true则表示删除成功
实例
package com.Ming.file;
import java.io.*;
public class FileDemo02 {
public static void main(String[] args)throws IOException {
File file =new File("D:"+File.separator+"Demo");//File.separator是该类中的一个属性,值是”\“这样就能解决在不同操作系统中来给出路径了
if (file.exists()){//判断要创建的文件在给出的路径下是否存在,如果存在则删除此文件如果不存在则创建此文件
file.delete();
}else {
file.createNewFile();
}
}
}
listFiles()方法
该方法的返回值为一个Files类型的数组,调用此方法会将给定抽象路径下的所有文件或目录全部存入Files[]数组中
实例
package com.Ming.file;
import java.io.*;
public class FileDemo03 {
public static void main(String[] args) {
File file=new File("D:"+File.separator);
File[] files=file.listFiles();//该方法可以输出指定目录下的所有文件返回值为File[]数组类型
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
}
}
isDirectory()方法
此方法用来判断给出的抽象路径是否为目录,如果是则返回true否则为false
实例
package com.Ming.file;
import java.io.*;
public class FileDemo04 {
public static void main(String[] args) {
File file=new File("d:"+File.separator+"Demo");
if (file.isDirectory()){//判断给出的路径是是否为目录
System.out.println(file.getPath()+"是目录");
}else{
System.out.println(file.getPath()+"不是目录");
}
}
}
扩展实例
要求利用上面的知识点将一个给定抽象路径下的所有目录和文件全部输出(包括子文件子目录等)
实例
package com.Ming.file;
import java.io.*;
public class FileDemo05 {
public static void main(String[] args) {
File file=new File("D:"+File.separator);
FileDemo05 f5=new FileDemo05();
f5.show(file);
}
public void show(File files){//此方法的作用就是输出一个路径下的所有文件夹,这里调用递归的方法来实现因为一个路径下可能有许多的子目录
if (files!=null){//先判断给出的路径是否为空
if (files.isDirectory()){
File[] f= files.listFiles();
if (f!=null) {//有些目录是系统不能访问的所以此出处应该给出一个判断
for (int i = 0; i < f.length; i++) {
show(f[i]);
}
}
}else{
System.out.println(files.getPath());
}
}else {
System.out.println("该路劲为空");
}
}
}
以上就是对于Java.io.file 包下的File类的学习