文件的创建,删除,查询

对程序语言的设计者来说,创建一个好的输入/输出(I/O)系统是一项艰难的任务。——<Thinking in java>

由于为了解决程序在Linux和Windows下的文件移植问题,以下操作中“/”或"\"用File.separator代替。

创建一个文件:

createNewFile()方法。

import java.io.File;
import java.io.IOException;
//创建一个新文件
public class NewFile {
	public static void main(String[] args) {
		String fileName = "D:"+File.separator+"file.txt";
		File f = new File(fileName);
		if(!f.exists()){
			try {
				f.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		System.out.println("创建成功!");
	}
}
删除一个文件:

delete()方法。

import java.io.File;
public class DeleteFile {
	public static void main(String[] args) {
		String fileName = "D:"+File.separator+"file.txt";
		File f = new File(fileName);
		if(f.exists()){
			f.delete();
			System.out.println("删除成功!");
		}else{
			System.out.println("文件不存在!");
		}
	}
}
创建文件夹:

mkdir()创建单目录文件夹。

mkdirs()创建多级目录文件夹。

import java.io.File;

//创建一个新的文件夹
public class NewFolder {
	public static void main(String[] args) {
		//创建单机目录文件
		String folderName = "D:"+File.separator+"File";
		File f = new File(folderName);
		if(!f.exists()){
			f.mkdir();
			System.out.println("文件夹创建成功!");
		}else{
			System.out.println("文件夹已存在!");
		}
		//创建多级目录文件夹
		String mulFolderName = "D:"+File.separator+"File1/File2/File3";
		File f1 = new File(mulFolderName);
		if(!f1.exists()){
			f1.mkdirs();
			System.out.println("多级目录文件夹创建成功!");
		}else{
			System.out.println("该多级目录文件夹以存在!");
		}
	}
}

返回指定目录下的所有文件:

list()方法,返回值为String []。返回文件非完整路径

listFiles()方法,返回值为File[]。返回完整文件路径

import java.io.File;
import java.io.FilenameFilter;


public class AllFile {
	public static void main(String[] args) {
		//返回指定目录下的文件
		String fileName = "D:"+File.separator;
		File file = new File(fileName);
		//返回非完整路径
		String[] str = file.list();
		for(int i=0; i<str.length; i++){
			System.out.println(str[i]);
		}
		//返回完整路径
		File[] str1 = file.listFiles();
		for(int i=0; i<str.length; i++){
			System.out.println(str1[i]);
		}
	}
}

返回指定目录下的指定文件:

list(FilenameFilter filter) 返回值为String[]。返回指定文件的非完整路径。

listFilters(FilenameFilter filter)返回值为File[]。返回指定文件的完整路径。

import java.io.File;
import java.io.FilenameFilter;

public class SpeFile {
	public static void main(String[] args) {
		String fileName = "D:"+File.separator;
		File file = new File(fileName);
		MyFilter myfile = new MyFilter(".txt");
		//查询指定后缀名的文件
		String[] files = file.list(myfile);
		for(String s : files){
			System.out.println(s);
		}
		//查询指定后缀名文件的完整路径
		File[] files1 = file.listFiles(myfile);
		for(File s : files1){
			System.out.println(s);
		}
	}
}
//需要实现FilenameFilter接口
class MyFilter implements FilenameFilter{
	private String type;
	public MyFilter(String type){
		this.type = type;
	}
	@Override
	public boolean accept(File dir, String name) {
		return name.endsWith(type);
	}
}


你可能感兴趣的:(文件的创建,删除,查询)