Java语言的File类总结

每个File类对象表示一个磁盘文件或文件夹,其对象属性中包含了文件或文件夹的相关信息,如文件名,长度,所含文件个数等等,调用它的方法可以完成对文件或文件夹的管理操作,如创建,删除等

1:创建File类的对象

构造方法功能说明
public File(String path)用path参数创建File对象所对应的磁盘文件名或文件夹名及其路径
public File(String path,String name)以path为路径,以name 为文件或文件夹名创建File对象
public File(File dir,String name)用一个已经存在代表某磁盘文件夹的File对象dir作为文件夹,以name作为文件或文件夹名来创建File对象

注意:由于操作系统的不同,windows用“\”作为文件夹分割符,linux用“/”作为文件夹分割符。为了使java程序能在不同平台运行,可以使用File类的一个静态变量 File.separator。该属性中保存了当前系统规定的文件夹分隔符。

如:G:\\test.txt;    ----->     "G:"+File.separator+"test.txt";

2:获取文件或文件夹属性

File类常用方法
方法功能说明
public boolean exists()判断文件或文件夹是否存在
public boolean isFile()判断对象是否代表有效文件
public boolean isDirectory()判断对象是否代表有效文件夹
public String getName()返回文件或文件夹名
public String getPath()返回文件或文件夹的路径
public long length()返回文件的字节数
public boolean canRead()判断文件是否可读
public boolean canWrite()判断文件是否可写
public String[] list()将文件夹中所有文件名保存在字符串数组中返回
public boolean equals()比较两个文件或文件夹是否相等

3:文件或文件夹的操作

File类中的一些操作方法
方法功能说明
public Boolean renameTo(File newFile)将文件重命名成newFile对应的文件名
public boolean delete()将当期文件删除,若删除成功,则返回true,否则返回false
public boolean mkdir()创建当期文件夹的子文件夹。若创建成功返回true,否则返回false

顺便说一下:mkdir(), 与mkdirs()的区别:

mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹。如下:

new File("/tmp/one/two/three").mkdirs();     ===》 执行后, 会建立tmp/one/two/three四级目录

new File("/tmp/one/two/three").mkdir();      ===》 则不会建立任何目录, 因为找不到/tmp/one/two目录, 结果返回false

下面用一个例子来反顾知识点:

@Test
	public void testFileDemo(){
		String str = new String();
		try{
			InputStreamReader isr = new InputStreamReader(System.in);
			BufferedReader inp = new BufferedReader(isr);
			String sdir = "d:\\cgj";
			String sfile;
			File fdir = new File(sdir);
			if(fdir.exists() && fdir.isDirectory()){
				System.out.println("文件夹:"+sdir+"已经存在");
				for (int i = 0; i < fdir.list().length; i++) {
					System.out.println((fdir.list())[i]);
				}
				File fdir2 = new File("d:\\cgj\\temp");
				if(!fdir2.exists()){
					fdir2.mkdir();  // 这步有意思,(它是没有,就创建)
				}
				System.out.println();
				System.out.println("创建新文件夹后的文件列表");
				for(int i = 0; i<fdir.list().length;i++){
					System.out.println((fdir.list())[i]);
				}
				System.out.println("请输入该文件夹中的一个文件名:");
				sfile = inp.readLine();  // 意思是从键盘输入数据
				File ffile = new File(fdir,sfile);  // 第三种File对象的创建方式
				if(ffile.isFile()){
					System.out.println("文件名:"+ffile.getName());
					System.out.println("文件所在路径:"+ffile.getPath());
					System.out.println("文件大小:"+ffile.length()+"字节");
				}
				if(inp != null)
					inp.close();
			}
		}catch(IOException e){
			e.printStackTrace();
		}
	}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值