Java基础【File类】基础操作--史上最简单入门Demo
前言:
java.io.File类是对文件和文件件进行操作的,可以对文件进行读取,写入。以及遍历文件夹里的所有文件,还可以创建文件/文件夹和删除文件及文件夹。下面从如何创建File对象,如何获取对象的路径,路径分为绝对路径和相对路径。还有一些对文件和文件夹的判断功能。还有创建删除文件/文件夹
目录
获取功能方法
public String getAbsolutePath() :返回此File的绝对路径名字符串。
-
File f = new File("d:/aaa/bbb.java");
-
System.out.println("文件绝对路径:"+f.getAbsolutePath());
-
System.out.println("文件构造路径:"+f.getPath());
public String getPath() :将此File转换为路径名字符串。
-
File f2 = new File("d:/aaa");
-
System.out.println("目录绝对路径:"+f2.getAbsolutePath());
-
System.out.println("目录构造路径:"+f2.getPath());
public String getName() :返回由此File表示的文件或目录的名称。
-
File f2 = new File("d:/aaa");
-
System.out.println("目录名称:"+f2.getName());
public long length() :返回由此File表示的文件的长度。
-
File f2 = new File("d:/aaa");
-
System.out.println("目录长度:"+f2.length());
判断功能方法
public boolean exists() :此File表示的文件或目录是否实际存在。
-
//创建文件 (如果判断文件夹也可怎么用)
-
File f3=new File("ksh.txt");
-
//判断文件是否存在
-
if(!f3.exists()){
-
System.out.println("文件存在");
-
}
public boolean isDirectory() :此File表示的是否为目录。
-
//F:\TGB\自己作品\Java\baistplus\k
-
File f1=new File("F:\\TGB\\自己作品\\Java\\baistplus\\k");
-
//判断是否存在
-
if(f1.exists()){
-
//判断是否是目录
-
if(f1.isDirectory()){
-
String[] list = f1.list();
-
for (String s : list) {
-
System.out.println(s);
-
}
-
}
-
-
}else {
-
System.out.println("文件夹不存在");
-
}
public boolean isFile() :此File表示的是否为文件。
-
File f = new File("d:\\aaa\\bbb.java");
-
// 判断是否是文件
-
System.out.println("d:\\aaa 文件?:"+f2.isFile());
创建和删除功能方法
public boolean createNewFile() :当且仅当具有该名称的文件尚不存在时,创建一个新的空文件。
-
//创建文件
-
File f3=new File("ksh.txt");
-
//判断文件是否存在
-
if(!f3.exists()){
-
//不存在就创建一个ksh.txt的文件
-
try {
-
boolean newFile = f3.createNewFile();
-
} catch (IOException e) {
-
e.printStackTrace();
-
}
-
}
public boolean delete() :删除由此File表示的文件或目录。
-
-
File f2= new File("newDir");
-
File f=new File(pat);//文件
-
// 文件的删除
-
System.out.println(f.delete());// true
-
// 目录的删除
-
System.out.println(f2.delete());// true
public boolean mkdir() :创建由此File表示的目录。
-
//创建目录
-
File f4=new File("ksh");
-
boolean mkdir = f4.mkdir();
-
//判断目录是否创建成功
-
if(mkdir==true){
-
System.out.println("目录创建成功");
-
}else{
-
System.out.println("目录创建失败");
-
}
public boolean mkdirs() :创建由此File表示的目录,包括任何必需但不存在的父目录。
-
//创建多级目录
-
File f5=new File(f4.getName()+"\\demo01");
-
boolean mkdirs = f5.mkdirs();
-
//判断是否创建成功
-
if(mkdirs){
-
System.out.println("多级目录创建成功!");
-
String absolutePath1 = f5.getAbsolutePath();
-
System.out.println(absolutePath);
-
}else {
-
System.out.println("多级目录创建失败!");
-
}
综合案例:递归打印多级目录
-
package com.itheima.demo03.Recursion;
-
-
import java.io.File;
-
-
/*
-
* 递归打印目录
-
* */
-
public class Demo04Recurison {
-
public static void main(String[] args) {
-
File f=new File("F:\\TGB");
-
getAllFile(f);
-
}
-
/*
-
* 定义一个方法,参数传递File类型的目录
-
* 方法中对目录进行遍历
-
* */
-
public static void getAllFile(File dir){
-
//获取File类型数组
-
File[] files = dir.listFiles();
-
//输出遍历之前的文件夹名称
-
System.out.println(dir);
-
//遍历files数组
-
for (File file : files) {
-
-
//判断file是否是目录
-
if(file.isDirectory()){
-
//是目录就继续调用getAllFile()方法进行遍历(递归遍历目录)
-
getAllFile(file);
-
}else {
-
//直接输出文件
-
System.out.println(file);
-
}
-
}
-
}
-
}
文章来源: kangshihang.blog.csdn.net,作者:康世行,版权归原作者所有,如需转载,请联系作者。
原文链接:kangshihang.blog.csdn.net/article/details/111239664
- 点赞
- 收藏
- 关注作者
评论(0)