Java File类的介绍

来源:互联网 发布:搬瓦工vps搭建ss优化 编辑:程序博客网 时间:2024/05/14 23:26
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();}//判断是否是一个目录,如果目录不存在或者不是目录,返回falseSystem.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 blocke.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 blocke.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);        }    }}}

1 0
原创粉丝点击