对程序语言的设计者来说,创建一个好的输入/输出(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); } }