- 输入和输出
- File类
具体的演示代码如下:
import java.io.File; public class Linkin { public static void main(String[] args) throws Exception { // 以当前路径来创建一个File对象 File file = new File("."); // 直接获取文件名,输出一点 System.out.println(file.getName()); // 获取相对路径的父路径可能出错,下面代码输出null System.out.println(file.getParent()); // 获取绝对路径 System.out.println(file.getAbsoluteFile()); // 获取上一级路径 System.out.println(file.getAbsoluteFile().getParent()); // 在当前路径下创建一个临时文件 File tmpFile = File.createTempFile("aaa", ".txt", file); // 指定当JVM退出时删除该文件 tmpFile.deleteOnExit(); // 以系统当前时间作为新文件名来创建新文件 File newFile = new File(System.currentTimeMillis() + ""); System.out.println("newFile对象是否存在:" + newFile.exists()); // 以指定newFile对象来创建一个文件 newFile.createNewFile(); // 以newFile对象来创建一个目录,因为newFile已经存在, // 所以下面方法返回false,即无法创建该目录 newFile.mkdir(); // 使用list()方法来列出当前路径下的所有文件和路径 String[] fileList = file.list(); System.out.println("====当前路径下所有文件和路径如下===="); for (String fileName : fileList) { System.out.println(fileName); } // listRoots()静态方法列出所有的磁盘根路径。 File[] roots = File.listRoots(); System.out.println("====系统所有根路径如下===="); for (File root : roots) { System.out.println(root); } } }
- 文件过滤器
以下代码列出了当前路径下所有*.java和文件夹。
import java.io.File; import java.io.FilenameFilter; /** * * @version 1L * @author LinkinPark * @since 2014-12-30 * @motto 梦似烟花心似水,同学少年不言情 * @desc ^这里用到了典型的command设计模式。Java不支持传一段代码块进方法,所以这里使用accept来封装相关过滤的代码块。 */ public class Linkin { public static void main(String[] args) { File file = new File("."); String[] nameList = file.list(new MyFilenameFilter()); for (String name : nameList) { System.out.println(name); } } } // 实现自己的FilenameFilter实现类 class MyFilenameFilter implements FilenameFilter { public boolean accept(File dir, String name) { // 如果文件名以.java结尾,或者文件对应一个路径,返回true return name.endsWith(".java") || new File(name).isDirectory(); } }