JAVA, IO包中的API-------File类

File: 操作文件的类

File(String pathname) 
通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 

例子:

import java.io.File;

public class Demo {
	public static void main(String[] args) {
		File file = new File("D:\\test.txt");
	}
}

File(String parent, String child) 
从父路径名字符串和子路径名字符串创建新的 File实例。 

例子:

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("D:\\", "test.txt");
    }
}

File(File parent, String child) 
从父抽象路径名和子路径名字符串创建新的 File实例。 
import java.io.File
public class Demo {
	public static void main(String[] args) {
		File file = new File("D:\\");
		File file2 = new File(file, "test.txt");
	}
}

File(URI uri) 
通过将给定的 file: URI转换为抽象路径名来创建新的 File实例。 

import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;

public class Demo {
    public static void main(String[] args) throws URISyntaxException {
    	//有异常, 可以选择抛出或者捕捉, 这里选择抛出
        File file = new File(new URI("http://docs.oracle.com")); 
    }
}

不同系统中的文件格式不一样,为了方便可以获取系统的相关符号

在这里插入图片描述


例子:

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("D:"+File.separator+"test.txt");
        String srt = file.getAbsolutePath();
        System.out.println(srt);
    }
}

运行结果: D:\test.txt


File常用方法:

  1. 获取
  2. 创建与删除
  3. 判断
  4. 重命名
  5. 获取系统根目录 与 容量获取

File常用的方法(一)

	1.获取
		1.1 获取文件名: getName();
		1.2 获取文件绝对路径: getAbsolutePath();
		1.3 获取文件相对路径: getPath();
		1.4 获取文件的大小(字节): length();
		1.5 获取文件修改的最后一次时间(毫秒): listModified()

例子:

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("test.txt");
        String name = file.getName();
        String absPath = file.getAbsolutePath();
        String path = file.getPath();
        long len = file.length();
        long time = file.lastModified();

        System.out.println("name: "+name);
        System.out.println("absPath: "+absPath);
        System.out.println("path: "+path);
        System.out.println("len: "+len);
        System.out.println("time: "+time+"毫秒");
    }

}

运行结果:
在这里插入图片描述


File常用的方法(二)

   2.创建和删除
   		2.1  创建 :  
   					mkdir(); 创建一个文件目录
   					mkdirs(): 创建多级文件目录
   		2.2  删除
   		        	delete(); 删除目录

例子(一):

mkdir(); 创建一个文件目录

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("E:\\abc");
        boolean b = file.mkdir();
        System.out.println(b);
    }
}

运行结果: true
如果在创建一次显示false
这里和IO输出流不同
–IO输出流如果没有就创建…如果有,就把原本的覆盖
–File类这里是如果不存在就创建…如果存在就不创建


例子(二):
mkdirs(): 创建多级文件目录

import java.io.File;

public class Demo {
	public static void main(String[] args) {
		File file = new File("E:\\a\\c\\dd\\c");
		boolean b = file.mkdirs();
		System.out.println(b);
	}
}

运行结果: true
打开E盘查看
在这里插入图片描述


例子(三)-1:

delete(); 删除目录
删除例子(一)的目录

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("E:\\abc");
        boolean b = file.delete();
        System.out.println(b);
    }
}

运行结果: true


例子(三)-2:

delete(); 删除目录
删除例子(二)的目录

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("E:\\a\\c\\dd\\c");
        boolean b = file.delete();
        System.out.println(b);
    }
}

运行结果: true


例子(三)-3:

delete(); 删除目录
删除例子(二)的目录
但是在最里面的文件夹中加入一个kkk.txt文本文件

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        File file = new File("E:\\a\\c\\dd\\c");
        boolean b = file.delete();
        System.out.println(b);
    }
}

运行结果: false
因为删除总是由内到外的…因为里面有文件所有删除失败…必须把里面的文件先删了才能删除目录


File常用的方法(三)

  3.判断
  		3.1 判断抽象路径名是否是绝对路径    isAbsolute()  
  		3.2 判断此抽象路径名表示的文件是否为目录    isDirectory() 
  		3.3 判断此抽象路径名表示的文件是否为普通文件   isFile() 
		3.4 判断文件是否存在,如果不存在就创建  createNewFile()
		....
		....

例子(一):
演示 :
3.1
3.2
3.3

import java.io.File;

public class Demo {
    public static void main(String[] args) {
        //这个本身已经存在了
        File file  = new File("D:\\test\\data.txt");
        System.out.println(file.isAbsolute());
        System.out.println(file.isDirectory());
        System.out.println(file.isFile());
    }
}

运行结果:
在这里插入图片描述
例子(二):
演示:
3.4
有异常…选择抛出或者捕捉

import java.io.File;
import java.io.IOException;

public class Demo {
    public static void main(String[] args) throws IOException {
        //这个本身不存在的
        File file  = new File("D:\\test\\xixi.txt");
        System.out.println(file.createNewFile());
    }
}

运行结果: true
运行多一次的话,运行结果: false 因为已经存在了


File常用的方法(四)

   重命名: renameTo()

例子:

        File f1 = new File("D:\\name.mp3");
        File f2 = new File("D:\\newName.mp3");

        boolean b = f1.renameTO(f2);
        System.out.println("b = "+b);

运行结果:true
把D盘下的name.mp3这首歌的名字换成newName.mp3
如果是在两个不同的盘下…相当于剪切


File常用的方法(五)

 5 获取系统根目录 与 容量获取
		5.1 返回分区未分配的字节数   getFreeSpace()  
		5.2 通过此抽象路径名返回分区内存的大小   getTotalSpace() 
		5.3返回上的分区提供给该虚拟机的字节数  getUsableSpace()
		File file  = new File("D:\\");
        System.out.println("getFreeSpace: "+file.getFreeSpace());
        System.out.println("getTotalSpace: "+file.getTotalSpace());
        System.out.println("getUsableSpace: "+file.getUsableSpace());
发布了87 篇原创文章 · 获赞 43 · 访问量 3996

猜你喜欢

转载自blog.csdn.net/weixin_42947972/article/details/103527472