IO之File类

1.File类的基本概念

File类:表示文件和目录路径名的抽象表示形式。

File类可以实现文件的创建、删除、重命名、得到路径、创建时间等等,是唯一与文件本身有关的操作类。


File类的定义:

public class File

extends Object

implements Serizlizable,Comparable<File>


2.File类的操作 方法

public static final String separator表示路径分隔符“\”
public static final String pathSeparator表示路径分隔,表示“;”
public File(String pathname)构造File类实例,要传入路径
public boolean createNewFile() throws IOEException创建新文件
public boolean delete( )删除文件
public String getParent( )得到文件的上一级路径
public boolean isDirectory( )判断给定的路径是否是文件夹

public boolean isFile()判断给定的路径是否是文件
public String[ ] list( )列出文件夹中的文件
public File[ ] listFiles()列出文件夹中的所有文件
public boolean mkdir( )创建新的文件夹
public boolean renameTo(File dest)为文件重命名
public long length( )返回文件大小
String getPathI( )路径名字符串


package com.vince.file;

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

/**
 * File类的使用
 * @author lamp
 *
 */
public class FileDemo {

	public static void main(String[] args) {
		//File.separator 表示分隔符
		//D:\\lamp
		File file1 = new File("D:"+File.separator+"lamp"+File.separator+"lamp.txt");
		//路径分隔符
//		String s  = File.pathSeparator;
		//文件是否存在
		if(!file1.exists()){
			try {
				//创建一个新文件
				boolean b = file1.createNewFile();
				System.out.println("创建文件:"+b);
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		//删除文件
		//System.out.println(file1.delete());
		//得到文件的上一级路径
		System.out.println(file1.getParent());
		//判断一个路径是否是文件夹
		System.out.println("是否是目录:"+file1.isDirectory());
		判断一个路径是否是文件
		System.out.println("是否是文件:"+file1.isFile());
		
		
		File file2 = new File("d:\\vince");
		//列出文件夹中的所有文件名
		String[] fileName = file2.list();
		for (String s : fileName) {
			System.out.println(s);
		}
		
		//列出文件夹中的所有文件,以File数组返回
		File[] files = file2.listFiles();
		for (File file : files) {
			System.out.println(file.getPath()+"---"+file.length());
		}
		
		//创建文件夹
		File file3 = new File("d:\\xiaobai\\baibai");
		file3.mkdirs();
		//重命名
		File file4 = new File("d:\\xiaobai\\xiaobaibai");
		file3.renameTo(file4);
	}

}













3.作业

任意给定一个目录,从该目录中(包括子目录)查找出所有后缀txt的文件 ,并打印出来。


package com.vince.homework;

import java.io.File;

/**
 *  文件搜索
 * @author lamp
 *
 */
public class HomeWork1 {

	//使用递归算法实现文件查找功能
	public static void findFile(File file,String extName){
		if(file==null){
			return;
		}
		//如果是目录,那么获取该目录下的所有文件的File对象
		if(file.isDirectory()){
			File[] fs = file.listFiles();
			if(fs!=null){
				for (File f : fs) {
					findFile(f,extName);
				}
			}
		}else{
			//当File是一个文件时,那么我们就进行判断扩展名是否为指定的扩展名
			String path = file.getPath().toLowerCase();
			if(path.endsWith(extName)){
				System.out.println(file.getPath());
			}
		}
		
	}
	
	
	public static void main(String[] args) {
		File file = new File("d:\\vince");
		String extName = ".jpg";
		findFile(file,extName);
	}

}









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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值