加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

unix路径简化 【Java-----File类详解】

发布时间:2022-11-02 14:30:48 所属栏目:Unix 来源:网络
导读: File类概述
Java.io.File类是文件和文件目录路径的抽象表示形式,与平台无关。文件和目录是可以通过File封装成对象的,对于File而言,其封装的并不是一个真实存在的文件,仅仅是一个路径名

File类概述

Java.io.File类是文件和文件目录路径的抽象表示形式,与平台无关。文件和目录是可以通过File封装成对象的,对于File而言,其封装的并不是一个真实存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的。想要在Java程序中表示一个真实存在的文件或目录,那么必须有一个File对象,但是Java程序中的一个File对象,可能没有一个真实存在的文件或目录。

File类中涉及到关于文件或文件目录的创建,删除,重命名,修改时间,文件大小等方法,并未涉及到写入或读取文件内容的操作,如果需要读取或写入文件内容,必须使用IO流来完成。File对象可以作为参数传递给流的构造器,指明读取或写入的终点。

构造方法

public File(String pathname):以pathname为路径创建File对象,可以是绝对路径或者相对路径,如果pathname是相对路径,则默认的当前路径在系统属性user.dir中存储。示例代码如下:

File file1=new File("hello.txt");
File file2=new File("D:\\java\\javatest.txt");
System.out.println(file1);
System.out.println(file2);
/*输出:hello.txt
        D:\java\javatest.txt
*/

public File(String parent,String child):以parent为父路径,child为子路径创建File对象。示例代码如下:

File file3=new File("D:\\java","hellojava");
System.out.println(file3);
//输出:D:\java\hellojava

public File(File parent,String child):根据一个父File对象和子文件路径创建File对象。示例代码如下:

File file4=new File(file3,"hello.txt");
System.out.println(file4);
//输出:D:\java\hellojava\hello.txt

File类使用的注意事项 1 绝对路径和相对路径 2 路径分隔符

File file5=new File("D:"+File.separator+"1024");
System.out.println(file5);
File file6=new File("D:\\1024");
System.out.println(file6);
File file7=new File("D:/1024");
System.out.println(file7);
/*输出:D:\1024
        D:\1024
        D:\1024
*/

静态成员变量 常用方法 获取功能

public String getAbsolutePath():获取绝对路径

File file1=new File("hello.txt");
System.out.println(file1.getAbsolutePath());
//输出:E:\Java workplace\22-6-13\hello.txt

public String getPath():获取路径

File file1=new File("hello.txt");
System.out.println(file1.getPath());
//输出:hello.txt

public String getName():获取名称

File file2=new File("D:\\java\\javatest.txt");
System.out.println(file2.getName());
//输出:javatest.txt

public String getParent():获取上层文件目录路径,若无则返回null

File file2=new File("D:\\java\\javatest.txt");
System.out.println(file2.getParent());
//输出:D:\java

public long length():获取文件长度(即:字节数),不能获取目录的长度

File file2=new File("D:\\java\\javatest.txt");
System.out.println(file2.length());
//输出:0

public long lastModified():获取最后一次的修改时间,毫秒值

File file2=new File("D:\\java\\javatest.txt");
System.out.println(file2.lastModified());
//输出:0

public String[] list():获取指定目录下的所有文件或者文件目录的字符串数组

File file2=new File("D:\\aaa");
String[] list=file2.list();
for(String s:list) {
	System.out.println(s);
}
/*输出:helloworld.txt
        java
*/

public File[] listFiles():获取指定目录下的所有文件或者文件目录的File对象数组

File file2=new File("D:\\aaa");
File[] list=file2.listFiles();
for(File f:list) {
	System.out.println(f);
}
/*输出:D:\aaa\helloworld.txt
        D:\aaa\java
*/

重命名功能

public boolean renameTo(File dest):把文件重命名为指定的文件路径

File file1=new File("D:\\aaa\\hello.txt");
File file3=new File("D:\\aaa","hellojava.txt");
System.out.println(file1.renameTo(file3));
//输出:false

判断功能

public boolean isDirectory():判断是否是文件目录

File file1=new File("hello.txt");
File file2=new File("D:\\aaa");
System.out.println(file1.isDirectory());
System.out.println(file2.isDirectory());
/*输出:false
        true
*/

public boolean isFile():判断是否是文件

File file1=new File("hello.txt");
File file2=new File("D:\\aaa\\hellojava.txt");
System.out.println(file1.isFile());
System.out.println(file2.isFile());
/*输出:false
        true
*/

public boolean exists():判断是否存在

File file1=new File("hello.txt");
File file2=new File("D:\\aaa\\hellojava.txt");
System.out.println(file1.exists());
System.out.println(file2.exists());
/*输出:false
        true
*/

public boolean canRead():判断是否可读

File file1=new File("hello.txt");
File file2=new File("D:\\aaa\\hellojava.txt");
System.out.println(file1.canRead());
System.out.println(file2.canRead());
/*输出:false
        true
*/

public boolean canWrite():判断是否可写

File file1=new File("hello.txt");
File file2=new File("D:\\aaa\\hellojava.txt");
System.out.println(file1.canWrite());
System.out.println(file2.canWrite());
/*输出:false
        true
*/

public boolean isHidden():判断是否隐藏

File file1=new File("hello.txt");
File file2=new File("D:\\aaa\\hellojava.txt");
System.out.println(file1.isHidden());
System.out.println(file2.isHidden());
/*输出:false
        false
*/

创建功能

public boolean createNewFile():创建文件,若文件存在,则不创建,返回false

File file1=new File("D:\\aaa\\hellojava.txt");//D盘中已有该文件
File file2=new File("D:\\aaa\\helloworld.txt");
if(!file1.exists()) {
	try {
		boolean flag1=file1.createNewFile();
		System.out.println(flag1?"创建成功":"创建失败");
	} catch (IOException e) {
		// TODO 自动生成的 catch 块
		e.printStackTrace();
	}
				
}else {
	boolean flag2=file1.delete();
	System.out.println(flag2?"删除成功":"删除失败");
}
if(!file2.exists()) {
	try {
		boolean flag3=file1.createNewFile();
		System.out.println(flag3?"创建成功":"创建失败");
	} catch (IOException e) {
		// TODO 自动生成的 catch 块
		e.printStackTrace();
	}
				
}else {
	boolean flag4=file1.delete();
	System.out.println(flag4?"删除成功":"删除失败");
}
/*输出:删除成功
        创建成功
*/

public boolean mkdir():创建文件目录,如果此文件目录存在,就不创建了,如果此目录文件的上层目录不存在,也不创建

File file1=new File("D:\\aaa");//已存在
File file2=new File("D:\\bbb");//不存在
File file3=new File("D:\\ccc\\java");//不存在,且上层目录也不存在
System.out.println(file1.mkdir());
System.out.println(file2.mkdir());
System.out.println(file3.mkdir());
/*输出:false
        true
        false
*/

public boolean mkdirs():创建文件目录,如果此文件目录存在,就不创建了,如果此目录文件的上层目录不存在,则一并创建

File file1=new File("D:\\aaa");//已存在
File file2=new File("D:\\bbb");//不存在
File file3=new File("D:\\ccc\\java");//不存在,且上层目录也不存在
System.out.println(file1.mkdirs());
System.out.println(file2.mkdirs());
System.out.println(file3.mkdirs());
/*输出:false
        true
        true
*/

注意事项:如果你创建文件或者文件目录没有写盘符路径unix路径简化,那么默认在项目路径下

删除功能

public boolean delete():删除文件或者文件夹

注意事项:Java中的删除不走回收站,要删除一个文件目录,请注意该文件目录内不能包含文件或者文件目录

(编辑:南京站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章