您的位置:首页 > 编程语言 > Java开发

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);
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: