Java File类的介绍
2016-06-19 00:53
549 查看
package com.mi; import java.io.File; import java.io.IOException; public class Demo { public static void main(String[] args){ //new一个File对象 File file = new File("D:\\Users\\Admin\\Desktop\\oracle"); //判断该对象对应的目录是否存在 if (file.exists()) { System.out.println("File exists!"); } else { System.out.println("File not exists!"); } System.out.println("=========================="); //创建对象 File file1 = new File("D:\\Users\\Admin\\Desktop\\pason"); //如果不存在就创建目录 if (!file1.exists()) { //注意boolean mkdirs() //创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。 //如a\\b\\c\\d,若a,b,c不存在,那么创建d时也会创建它们 file1.mkdir(); //否则删除目录 } else { file1.delete(); } //判断是否是一个目录,如果目录不存在或者不是目录,返回false System.out.println(file1.isDirectory()); //判断是否是一个文件 System.out.println(file1.isFile()); System.out.println("=========================="); /* * File(File parent, String child) 根据 parent抽象路径名和 child 路径名字符串创建一个新 File 实例。 * */ //注意这个时候,test还不确定是文件还是目录 File file2 = new File(file,"test"); if(!file2.exists()){ try { //创建文件 file2.createNewFile(); //创建目录为:file2.mkdir(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { file2.delete(); } //注意,创建对象后并不会产生该目录,这是初学者的一个错误的认识 //以上创建的都是Directory,创建一个文件的方法如下 File file3 = new File("D:\\Users\\Admin\\Desktop\\oracle\\abc.txt"); if(!file3.exists()){ try { file3.createNewFile(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { //file3.delete(); } System.out.println(file3.isFile()); System.out.println("=========================="); //返回文件对象的绝对路径 System.out.println(file.getAbsolutePath()); System.out.println(file3.getAbsolutePath()); System.out.println("=========================="); //返回文件对象的名称 System.out.println(file.getName()); System.out.println(file3.getName()); System.out.println("=========================="); /* * String getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null */ System.out.println(file.getParent()); System.out.println(file3.getParent()); /* * File getParentFile() 返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null */ System.out.println("=========================="); //注意返回的是文件File类型,打印的时候转换成了字符串 System.out.println(file.getParentFile()); System.out.println(file3.getParentFile()); System.out.println("=========================="); File f = new File("D:\\Users\\Admin\\Desktop\\oracle");//实例化File类的对象 onlyListCurrentDirectory(f); System.out.println("=========================="); printFile(f); } //递归式的打印文件夹下所以的文件和目录 public static void printFile(File f) { if (f != null)// 判断文件是否为空 { if (f.isDirectory())// 判断文件是否为文件夹 { File files[] = f.listFiles();// 列出文件 if (files != null) {// 判断此目录能否列出 for (int i = 0; i < files.length; i++) { printFile(files[i]);// 递归调用判断是否为子文件夹 } } } else { System.out.println(f); } } } //仅打印当前目录的内容 public static void onlyListCurrentDirectory(File file){ if(file.isDirectory()){ String[] names = file.list(); for(String name:names){ System.out.println(name); } } } }
相关文章推荐
- Java动态编程之javassist
- java 高并发
- java 设计模式 之 桥接
- 深度剖析JDK动态代理机制
- Spring Boot实现跨域访问实现代码
- eclipse配置汉字乱码
- eclipse配置PHP开发环境
- Java静态代理和jdk动态代理、Cglib动态代理
- java web session management
- Maven插件:maven-javadoc-plugin
- NIO(一):Java NIO概述
- Java中堆内存和栈内存详解
- Java垃圾回收机制
- java 成神之路 (一)
- 推荐9个Java的搜索引擎框架
- Jdk8一行代码读取文件
- Spring
- Java标准库类
- **Spring4.3+MyBatis 3.3.1 项目整合**
- java加密——Jasypt开源工具包