您当前的位置: 首页 >  Java

暂无认证

  • 4浏览

    0关注

    97555博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

发布时间:2014-03-29 07:53:54 ,浏览量:4

File 类

用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作。 File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 boolean createNewFile():在指定位置创建文件。如果该文件已经创建,则不创建。 2.删除 boolean delete();删除失败,返回false void deleteOnExit();在程序退出时,删除指定文件。 3.判断 boolean exists().测试此抽象路径名表示的文件或目录是否存在。 boolean mkdir():创建文件夹 boolean mkdirs():创建多级文件夹 isFile(); isDirectory(); isHidden(); isAbsolute(); 4.获取信息 getName(); getPath();//相对路径文件 getAbsoluteFile()//返回的是对象 getAbsolutePath()//返回的是字符串 getParent(); //如果没有明确的指定它的路径,则返回一个null lastModified(); length();

import java.io.*;
class FileDemo{
	public static void main(String[]args)throws IOException{
		ConsMethod();
		method_1();
		method_2();
		method_3();
		method_4();
		method_5();
	}
	
	public static void method_1()throws IOException{
		File f=new File("file.txt");
		sop("create"+f.createNewFile());//sop在文件操作中相当于打印(System.out);
		f.delete(OnExit());
		sop("delete"+f.delete());
	}
	public static void method_2()throws IOException{
		File f=new File("FileDemo.java");
		sop("execute"+f.canExecute());//判断文件是否可执行
		//创建文件夹
		File dir=new File("abc");
		sop("mkdir"+dir.mkdir());
	}
	public static void method_3()throws IOException{
		File f=new File("FileDemo.java");
		f.createFile();
		//记往在判断文件对象是否是文件或者目的时,必须要先判断该文件对象封装的内容是否存在。通过exists判断。
		sop("dir"+f.isDirectory());
		sop("dir"+f.isFile());
	}
	public static void method_4()throws IOException{
		File f=new File("file.txt");
		
		sop("path"+f.getPath());
		sop("abpath"+f.getAbsolutePath());
		sop("parent"+f.getParent());//这个方法返回的是绝对路径下的父目录。如果是相对,则返回null
	}
	public static void method_5()throws IOException{
		File f1=new File("c:\\Test.java");
		File f2=new File("d:\\sf.java");
		sop("rename"+f1.renameTo(f2));//返回的是true或false,这种方法类似剪切。移动。。
	}
	
	
	public static void ConsMethod(){
		//将a.txt封装成file对象,可以将已有的和为出现的文件或者文件夹
		File f1=new File("a.txt");
		File f2=new File("c:\\abc","b.txt");
		File f4=new File("c:"+File.separator+"abc\\zzz\\a.txt");//目录分隔符
	}
}
FilenameFilter:这是一个接口,实现此接口的类实例可用载过滤文件名
import java.io.*;
class FileDemo2{
	public static void main(String[] args){
		listRootsDemo();
		listDemo();
		File dir=new File("d:\\Programfiles\\");
		String[] arr=dir.list(new FilenameFilter(){
			public void accept(File dir,String name){
				//System.out.println("dir:"+dir+"...name::"+name);
				//return false;
				return name.endWith(".bmp");
			}
		});//传递一个匿名内部类
		for(String name:arr){
			System.out.println(name);//
		}
	}
	public static void listRootsDemo(){
		File[] files=File.listRoots();
		for(File f:files){
			System.out.println(f);
		}
	}
	public static void listsDemo(){
		File[] files=new File("c:\\");
		String [] names=f.list();//调用list方法的file对象必须是封装了一个目录,该目录还必须存在。
		for(String name:names){
			System.out.println(name);
		}
		for(File f:files){
			System.out.println(f);
		}
	}
}
列出指定目录下文件夹或者文件夹,包含子目录中的内容。也就是指定目录下所有内容。因为目录中还有目录,只要使用同一个列出目录的功能函数完成即可。 在列出的过程中出现的还是目录的话,还可以再次调用本功能。 这种表现形式的手法,称为递归。 递归要注意: 1.限定条件。 2.要注意递归的次数。尽量避免内存溢出
import java.io.*;
class FileDemo{
	public static void main(Stirng[] args){
		File dir=new File("d:\\Programfiles");
		showDir(dir);
		toBin(6);
		
	}
	
	public static void toBin(int num){
		while(num>0){
			toBin(num/2);
			System.out.println(num%2);
			
		}
	}
	
	public static void showDir(File dir){
		System.out.println(dir);
		File[] files=dir.listFiles();
		for(int x=0;x               
关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.2686s