---------------------- ASP.Net+Android+IO开发S、.Net培训、期待与您交流! ---------------------
File是IO流中专门操作文件对象的类,这个类可以描述计算机中每个硬盘中的每个文件以及文件夹的属性,比如名字、是否为文件夹、是否存在、文件路径等。这是一个比较重要的类。
File类常用的方法:
- boolean canExecute() 判断文件是否可以被执行
- boolean exists() 判断文件是否存在
- boolean isAbsolute() 判断文件路径是否为绝对路径
- boolean isDirectory() 判断是否为文件夹
- boolean isHidden() 判断是否为隐藏文件
- boolean isFile() 判断是否为一个标准文件
- boolean createNewFile() 创建文件,如果该路径已经存在文件,则返回false
- boolean delete() 删除此抽象路径名表示的文件或目录 如果是目录的话,目录为空才能删除
- boolean deleteOnExit() 在虚拟机退出的时候删除该抽象路径名表示的文件或目录,删除成功则返回true。
- File getAbsoluteFile() 返回该抽象路径名的绝对路径形式
- String getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
- String getName() 返回由此抽象路径名表示的文件或目录的名称。
- String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回
null
。 - String getPath() 将此抽象路径名转换为一个路径名字符串。
- boolean mkdir() 创建此抽象路径名指定的目录。
- boolean mkdirs() 创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
还有各种set操作权限比如说可读可写、只读、只写等的方法。
File类中还提供了一个通用的文件路径分隔符,可以在不同的系统上使用,这是一个静态的成员变量
File.separator 这个用的比较多
格式就是比方说要建立一个D盘下的log.txt则可以写
File file = new File("D:" + File.separator + "log.txt");
file.createNewFile;
这里要注意,创建File对象只是创建了一个文件的路径对象,文件存不存在是不知道的。
File类的最常见的用处就是找文件了,比方说找到D盘下所有的java文件并放到一个文档里边,这里边就要用到递归和输出流了,把这个练习放这里,以后多看看
import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; public class TestFile { public static void main(String[] args) { File file = new File("D:/"); BufferedWriter writer = null; try { writer = new BufferedWriter(new FileWriter("D:/log.txt")); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } getFiles(file, writer); try { writer.close(); } catch (IOException e) { e.printStackTrace(); } } public static void getFiles(File file, BufferedWriter writer) { if (!file.exists()) throw new RuntimeException("文件夹或者文件不存在"); // 判断下要去找东西的文件夹在不在 if (file.isDirectory()) { File[] files = file.listFiles(); if (files == null) // 如果目录中没有东西,就直接返回,在读到隐藏文件夹得时候也返回null { System.out.println(file.isHidden()); return; } for (File f : files) {//遍历文件 if (f.isDirectory()) getFiles(f, writer);//如果是文件夹,继续调用此函数 else if (f.isFile() && f.getName().endsWith(".java")) {//判断文件名,并将复核要求的写入log.txt try { writer.write(f.getAbsolutePath()); writer.newLine(); writer.flush(); } catch (IOException e) { e.printStackTrace(); } } } } else if (file.isFile() && file.getName().endsWith(".java")) { try { writer.write(file.getAbsolutePath()); writer.newLine(); writer.flush(); } catch (IOException e) { e.printStackTrace(); } } } }
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
详细请查看:http://edu.csdn.net
相关推荐
黑马程序员_毕向东_Java基础视频教程第18天-14-IO流(拷贝文本文件图例).zip
行时所需要的基本条件和许多 Java 基础类,例如,IO 类、GUI 控件类、网络类等。JRE 是提供给 普通用户使用的,如果你只想运行别人开发好的 Java 程序,那么,你的计算机上必须且只需安装 JRE。 JDK(Java ...
Java-IO流高级-例题 & 例题源码 & PPT教学文档(黑马程序员详细版)。
黑马程序员_毕向东_Java基础视频教程第18天-09-IO流(文件的续写)
IO—黑马程序员Java学习笔记.rar
黑马程序员_毕向东_Java基础视频教程第18天-12-IO流(文本文件读取练习).zip
commons-io-2.6--java框架技术
黑马程序员_毕向东_Java基础视频教程第18天-13-IO流(拷贝文本文件).zip
赠送jar包:commons-io-2.8.0.jar; 赠送原API文档:commons-io-2.8.0-javadoc.jar; 赠送源代码:commons-io-2.8.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.8.0.pom; 包含翻译后的API文档:commons-io...
赠送jar包:commons-io-2.11.0.jar; 赠送原API文档:commons-io-2.11.0-javadoc.jar; 赠送源代码:commons-io-2.11.0-sources.jar; 赠送Maven依赖信息文件:commons-io-2.11.0.pom; 包含翻译后的API文档:...
protoc-gen-grpc-java-1.40.0-osx-aarch_64 mac arm芯片平台grpc生成java的支持。官网上面没有,这是基于源码编译生成的。 pom.xml:(protoc-gen-grpc-java-1.40.0.pom) <?xml version="1.0" encoding="UTF-8"?> ...
开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2开发工具 commons-io-1.3.2...
赠送jar包:commons-io-2.5.jar; 赠送原API文档:commons-io-2.5-javadoc.jar; 赠送源代码:commons-io-2.5-sources.jar; 赠送Maven依赖信息文件:commons-io-2.5.pom; 包含翻译后的API文档:commons-io-2.5-...
赠送jar包:commons-io-1.3.2.jar; 赠送原API文档:commons-io-1.3.2-javadoc.jar; 赠送源代码:commons-io-1.3.2-sources.jar; 赠送Maven依赖信息文件:commons-io-1.3.2.pom; 包含翻译后的API文档:commons-io...
Java IO框架 commons-io-2.11.0
赠送jar包:commons-io-2.7.jar; 赠送原API文档:commons-io-2.7-javadoc.jar; 赠送源代码:commons-io-2.7-sources.jar; 赠送Maven依赖信息文件:commons-io-2.7.pom; 包含翻译后的API文档:commons-io-2.7-...
黑马程序员_毕向东_Java基础视频教程第18天-11-IO流(文本文件读取方式二).zip
Java高级-----Java-IO系统.ppt
Java-IO流基础例题 & 例题源码 & PPT教学文档(黑马程序员详细版)。
Java 第二阶段提升编程能力【IO流】---- 代码 Java 第二阶段提升编程能力【IO流】---- 代码 Java 第二阶段提升编程能力【IO流】---- 代码 Java 第二阶段提升编程能力【IO流】---- 代码 Java 第二阶段提升编程能力...