IO之File类
来源:互联网 发布:广州网络优化 编辑:程序博客网 时间:2024/05/17 09:04
File类是java.io包下代表与平台无关的文件和目录,不管是文件、还是目录都是使用File来操作的。File不能访问文件内容本身。如果需要访问文件内容本身,则需要使用输入/输出流。
File类可以使用文件路径字符串来创建File实例,该文件路径字符串既可以是绝对路径,也可以是相对路径,默认情况下,系统总是根据用户的工作路径来解释相对路径。
1.构造器
File(String pathname):通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。
File(String parent, String child):根据parent路径名字符串和child路径名字符串创建一个新File实例。
File(File parent, String child):根据parent抽象路径名和child路径名字符串创建一个新File实例。
属性字段
static String separator :与系统有关的默认名称分隔符,为了方便,它被表示为一个字符串。
//通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。File file1 = new File("c:\\demo.txt");//根据parent路径名字符串和child路径名字符串创建一个新File实例。File file2 = new File("d:\\", "demo.txt");//根据parent抽象路径名和child路径名字符串创建一个新File实例。File f = new File("e:\\");File file3 = new File(f, "demo.txt");//使用separator属性//因为不同操作系统下分隔符表示不同,为了具有跨平台性,使用separator表示分隔符File file4 = new File("c:" + File.separator + "abc"+ File.separator + "demo.txt");
2.创建
boolean createNewFile():当且仅当不存在具有此抽象路径名指定名称的文件时,创建一个新的空文件。
static File createTempFile(String prefix, String suffix):在默认临时文件目录中创建一个空文件,使用给定前缀和后缀生成其名称。
boolean mkdir():创建此抽象路径名指定的目录。此方法只可以创建一级目录。
boolean mkdirs():创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。此方法可以创建多级目录。
public class FileDemo {public static void main(String[] args) throws IOException {//通过将给定路径名字符串转换为抽象路径名来创建一个新File实例。File file1 = new File("c:\\demo.txt");file1.createNewFile();//创建一个临时文件File file2 = File.createTempFile("Hello", ".tmp");//创建一个一级目录,使用mkdir方法File dir1 = new File("d:\\abc");dir1.mkdir();//创建一个多级目录,使用mkdirs方法File dir2 = new File("d:\\abc\\bc\\a");dir2.mkdirs();}}
3.删除
boolean delete():删除此抽象路径名表示的文件或目录。
boolean deleteOnExit():在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。
//删除目录File dir = new File("f:\\abc\\a");dir.delete();//在虚拟机终止时,删除文件File file = new File("f:\\demo.txt");file.deleteOnExit();
4.判断
boolean canExecute():测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead():测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite():测试应用程序是否可以修改此抽象路径名表示的文件。
boolean exists():测试此抽象路径名表示的文件或目录是否存在。
boolean isFile():测试此抽象路径名表示的文件是否是一个标准文件。
boolean isDirectory():测试此抽象路径名表示的文件是否是一个目录。
boolean isHidden():测试此抽象路径名指定的文件是否是一个隐藏文件。
boolean isAbsolute():测试此抽象路径名是否为绝对路径名。
File file = new File("f:\\demo.txt");//判断是否存在file.exists();//判断是否是文件file.isFile();//判断是否是路径file.isDirectory();
5.获取信息
String getName():返回由此抽象路径名表示的文件或目录的名称。
String getPath():将此抽象路径名转换为一个路径名字符串。
String getParent():返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回null。
long length():返回由此抽象路径名表示的文件的长度。
long lastModified():返回此抽象路径名表示的文件最后一次被修改的时间。
File file = new File("f:\\abc\\demo.txt");//获取名称String name = file.getName();//获取路径String dir = file.getPath();//获取父路径String parDir = file.getParent();
6.移动
boolean removeTo(File dest):重新命名此抽象路径名表示的文件。
File targetFile = new File("f:\\demo.txt");File destFile = new File("e:\\demo.txt");//从F盘移动到E盘targetFile.renameTo(destFile);
static File[] listRoots():列出可用的文件系统根。
String[] list():返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
String[] list(FilenameFilter filter):返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
String[] list(FilenameFilter filter):返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles():返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
获取路径下所有的Java文件,以字符串形式返回
public class FileDemo {public static void main(String[] args) {File file = new File("F:\\eclipse\\workspace\\test\\src\\com\\heima");//获取路径下所有的Java文件,以字符串形式返回String[] fileNames = file.list(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return name.endsWith(".java");}});//遍历输出for(String name : fileNames){System.out.println(name);}}}
获取指定路径下所有文件并具有层次感打印
public class FileDemo3 {public static void main(String[] args) {File dir = new File("E:\\TDDOWNLOAD\\黑马");showDir(dir, 0);}//遍历文件并打印方法public static void showDir(File dir, int level){//先将目录名打印System.out.println(getLevel(level) + dir);level++;//获取该目录下所有文件File[] files = dir.listFiles();//遍历所有文件for(File file : files){//如果是文件夹,那么递归if(file.isDirectory())showDir(file, level);//否则,是文件,打印文件名elseSystem.out.println(getLevel(level) + file.getName());}}//获取目录层级方法public static String getLevel(int level){//用来存储目录表示StringBuilder sb = new StringBuilder();//首先打印目录名前的标识sb.append("|--");//根据层级添加空格以便使之具有层次感for(int i = 0; i < level; i++){sb.insert(0, " ");}return sb.toString();}}
删除指定目录下所有文件
public class FileDemo4 {public static void main(String[] args) {File dir = new File("e:\\test");removeDir(dir);}//删除目录public static void removeDir(File dir){//获取该目录中所有文件File[] files = dir.listFiles();//遍历for(File file : files){//如果是目录,那么递归继续遍历其中内容if(file.isDirectory())removeDir(file);//否则,将其删除elsefile.delete();}//最后将该目录删除dir.delete();}}
查找指定目录下所有java文件并将其路径保存到清单列表
public class FileDemo5 {public static void main(String[] args) {File dir = new File("F:\\eclipse\\workspace\\test\\src");FileWriter fw = null;try{fw = new FileWriter("f:\\filelist.txt");saveList(dir, fw);}catch(IOException e){e.printStackTrace();}finally{try{if(fw != null)fw.close();}catch(IOException e){e.printStackTrace();}}}//查找指定目录下所有java文件并将其路径保存到清单列表public static void saveList(File dir, Writer writer) throws IOException{//获取该目录下的文件清单File[] files = dir.listFiles();//遍历for(File file : files){//如果是目录,继续递归遍历if(file.isDirectory())saveList(file, writer);//否则判读else{//如果是java文件,那么保存其路径if(file.getName().endsWith(".java")){writer.write(file.getAbsolutePath());writer.write("\r\n");writer.flush();}}}}}
0 0
- IO之File类
- IO之File类
- IO之File类
- IO之File类
- java io 之File类
- Java IO之File类
- IO流之File类
- java之Io-File类
- JAVA_05 IO之File类
- IO复习之File类
- JAVA-IO之File类
- Java IO 之File类
- IO流之File类
- java IO之File类
- Java IO之File类
- io操作之File类
- JAVA IO 之File类
- Java IO操作之File类
- 小议素数序列求法以及使用
- 数据结构之链表学习(1)
- 设计模式7——结构型模式之适配器模式
- iOS中相册的学习记录
- Delphi中拖动无边框窗口的5种方法
- IO之File类
- node.js--闪出消息
- node.js--验证输入的数据
- B*树索引——Oracle的默认索引结构
- 虚函数的一些特性
- python下配置Django开发环境
- POJ3467 Cross Counting
- iOS App Programming Guide => State Preserve/Restore & Resources
- Javascript模块化编程