Java IO (一)文件、文件夹的基本常识与常用方法

一、路径分割符及路径的三种表现形式

1.两个常见的路径分隔符:


window: /
linux: \

2.三种表现形式:


 (1)String path="E:\\test\\1.java";
 (2)动态路径表示:path="E:"+file.separator+"Chaud"+File.separator+"1.java"     (静态的话不支持试用,跨平台时支持使用)
 (3)path="E:/test/1.java"  推荐使用
 

二、相对路径与绝对路径构造 File对象

    
     1.相对路径
        File(String parent, String child)  ==>File("E:/test","1.java")
        File(File parent, String child)     ==> File(new File("E:/test"),"1.java")
     2.绝对路径
        File(String name);
     3.当不写路径只写文件时默认在当前文件目录下

        //相对路径
        File f=new File("E:/test","1.java");
		System.out.println(f.getPath());
		System.out.println(f.getName());
		File f2=new File("E:/test","1.java");
		System.out.println(f2.getPath());
		System.out.println(f2.getName());
		//绝对路径
		File src =new File("E:/test/1.java");
		System.out.println(src.getName());
		System.out.println(src.getPath());
        没有盘符: 以 user.dir构建(默认)
		File f3=new File("1.txt");
		File f4=new File(".");
		System.out.println(f3.getPath());
		System.out.println(f3.getAbsolutePath());
		System.out.println(f4.getAbsolutePath());

运行结果如下图:

三 常见方法

1、文件名

getName() 文件名+路径名

getPath() 路径名

getAbsolutePath() 绝对路径名

getAbsoluteFile() 绝对路径所对应的File对象

getParent() 父目录 ,相对路径的父目录,可能为null 如. 删除本身后的结果

2、判断信息

exists()

canWrite()

canRead()

isFile()

isDirectory()

isAbsolute():消除平台差异。e:以盘符开头,其他以/开头

3、长度 字节数  不能读取文件夹的长度,只能读文件的长度

length()

4、创建、删除

createNewFile() 不存在创建新文件,存在返回false

delete() 删除文件

5、临时文件:

static createTempFile(前缀3个字节长,后缀默认.temp)     创建在默认临时空间

static createTempFile(前缀3个字节长,后缀默认.temp,目录)  创建在目录下

deleteOnExit() 退出虚拟机删除,常用于删除临时文件

6、操作目录

mkdir() 创建目录,必须确保 父目录存在,如果不存在,创建失败

mkdirs() 创建目录,如果父目录链不存在一同创建

list() 文件|目录 名字符串形式

listFiles() 文件Flie 对象

static listRoots() 根路径

四  文件子目录的遍历

文件子目录的遍历在今后文件的查找等有重要的意义

import java.io.File;
import java.util.Arrays;

/**
 * 输出子孙级目录|文件的名称(绝对路径)
 * 1、listFiles()
 * 2、递归
 * static listRoots() 根路径
 */
public class Demo05 {

	public static void main(String[] args) {
		String path ="E:/xp/test";
		File parent =new File(path);
		//printName(parent);
		File[] roots =File.listRoots();
		System.out.println(Arrays.toString(roots));
		for(File temp:roots){
		    printName(temp);
			
		}
	}
	/**
	 * 输出路径
	 */
	public static void printName(File src){
		if(null==src || !src.exists()){
			return ;
		}
		System.out.println(src.getAbsolutePath());
		if(src.isDirectory()){ //文件夹
			for(File sub:src.listFiles()){
				printName(sub);
			}
			
		}
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值