File流

前言:File类代表一个特定文件或目录,提供几个方法怼该文件或目录进行操作

方法

说明

File(String pathname)

通过路径名创建一个新 File 实例

File(File parent, String child)

根据父目录路径File实例和子目录或文件路径创建一个新 File 实例

File(String parent, String child)

根据父目录路径和子目录或文件路径创建一个新 File 实例

File(URI uri)

通过统一资源标识符创建一个新的 File 实例

package wo;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilterInputStream;
import java.io.FilterOutputStream;
import java.io.IOException;

import javax.imageio.stream.FileImageInputStream;

public class Tes {
	public static void main(String[] args) {

		File file = new File("D:\\workspace\\jdbc");
		if (file.isFile()) {// 指向一个文件
			System.out.println("o");
		}
		if (file.isDirectory()) {// 指向一个文件夹
			System.out.println("a");
		}
	}
}
结果:a
public class Tes {
	public static void main(String[] args) {

		File file = new File("D:\\workspace\\jdbc\\db.properties");
		File file1 = new File("D:\\workspace\\","jdbc\\db.properties");
		File file2 = new File(new File("D:\\workspace\\"),"jdbc\\db.properties");
		String path = file.getAbsolutePath();
		System.out.println(path);
		System.out.println(file2.getName());
	}//file1.file2.file 是等效的书写形式,
}

再Java程序里创建文件:

public class Tes {
	public static void main(String[] args) {

		if(new File("D:\\dd").mkdir()) {
			System.out.println("h");
		}
	}//方法mkdir()只能用于创建一级目录下的文件
}
public class Tes {
	public static void main(String[] args) {

		if(new File("D:\\dd\\ee\\ff").mkdirs()) {
			System.out.println("d");
		}
	}//mkdirs()方法适用于多级目录下文件的创建,结果输出d,表示创建成功,文件里的确有
}
public class Tes {
	public static void main(String[] args) {

		File file=new File("D:\\workspace\\jdbc");
		if(file.renameTo(new File("D:\\workspace\\dg"))) {
			System.out.println("d");
		}//可以任意命名文件或文件夹的名字
	}
}
public class Tes {
	public static void main(String[] args) {
		try {
			if(new File("D:\\作用.avi").createNewFile()) {
				System.out.println("cheng");
			}//创建文件,后缀avi表示文件内容是音频,相应的可以后缀txt,doc等
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
public class Tes {
	public static void main(String[] args) {
		if (new File("D:\\作用.avi").exists()) {
			System.out.println("chen");
		} // 用于判断文件是否存在
		if (new File("D:\\作用.avi").delete()) {
			System.out.println("ench");
		} // 用于删除文件,因为此时文件中没有其他文件可删可:
		if (new File("D:\\dd").delete()) {
			System.out.println("dd");
		} // 此时没有输出结果,因为她下面还有子文件,如果是文本,也是可以删的
	}
}
public class Tes {
	public static void main(String[] args) {
		String[] name=new File("D:\\workspace").list();
		for(String n:name) {//结果输出对应路径下的文件清单
			System.out.println(n);
		}
	}
}

public class Tes {
	public static void main(String[] args) {
		File[] name=new File("D:\\workspace").listFiles();
		for(File n:name) {//结果输出对应路径下的文件清单
			System.out.println(n);//等同于下面一句
			System.out.println(n.getPath());
		}
	}
}
D:\workspace\.idea
D:\workspace\.metadata
D:\workspace\.recommenders
D:\workspace\1、脏读
D:\workspace\2、不可重复读
D:\workspace\3、幻读
D:\workspace\jdbc
D:\workspace\RemoteSystemsTempFiles
D:\workspace\wo
D:\workspace\www
D:\workspace\我

其实 File.separator 的作用相当于 ' \  '在 windows 中 文件文件分隔符 用 ' \ ' 或者 ' / ' 都可以,但是在 Linux 中,是不识别 ' \ '  的,而 File.separator 是系统默认的文件分隔符号,在 UNIX 系统上,此字段的值为 ' / '在 Microsoft Windows 系统上,它为 ' \ ' 屏蔽了这些系统的区别。所以用 File.separator 保证了在任何系统下不会出错。

File[] name=new File("D:"+File.separator+"workspace"+File.separator+"jdbc");
File[] name=new File("D:\\workspace\\jdbc");//效果等同
public class Tes {
	public static void main(String[] args) {
		File file=new File("D:"+File.separator+"workspace"+File.separator,"jdbc");
		System.out.println(file.getParent());/**返回此File对象的父目录路径名;如果此路径名没有指定父目录,则返回 null*/
		System.out.println(file.getName());//返回此对象表示的文件或目录最后一级文件夹名称                                                                
		file=file.getParentFile();
		System.out.println(file);
		System.out.println(file.getName());
	}
}
结果:
D:\workspace
jdbc
D:\workspace
workspace

延伸:在文件夹路径下全选再输入cmd出来面板,再输入cd空格/空格../回车会出现上翻一级的结果,如果是一个./是同级。

public class Tes {
	public static void main(String[] args) {
		try {
		FileInputStream fileInputStream = new FileInputStream("D:\\workspace\\我\\src\\db.properties");//有水瓶
		FileOutputStream fileOutputStream = new FileOutputStream("D:\\workspace\\我\\src\\com\\jd\\util\\3.properties");//对应目录下真的有空瓶
				 int data = 0;
				 while ((data = fileInputStream.read()) != -1) {
				 fileOutputStream.write(data);//往空瓶中注水
				 }
				 } catch (Exception e) {
				 e.printStackTrace();
				 }
		}
}
//\\io流的前沿

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值