一、
练习:判断com.test.filedemo目录下是否有后缀名为.java的文件
如果有,统计该类型文件的个数并输出文件名称
二、
已知文件的路径为:C:\mygames.txt
要求得到
是否存在
取得文件名
取得文件路径
得到绝对路径
得到文件夹名
判断文件是否存在
判断文件是否可读,可写
判断是否是目录
判断是否是文件
是否是绝对路径名称
文件的最后修改时间
文件的大小
三、
1.在本地磁盘D盘中创建一个iotest文件夹
2.在文件夹中创建一个以自己名字的拼音组成的文件名
3.获取创建的这个文件的最后修改日期并打印到控制台
4.将创建的这些文件和文件夹全部删除四、
从键盘输入接收一个文件夹路径,打印除该文件夹下所有的.java文件名五、
从键盘接收一个文件或者文件夹路径,删除该文件或者文件夹(删除该文件夹下所有的文件包括文件夹)
1
package w4day1.task;
import java.io.File;
/**
* @Title
* @Author Eastlin
* @Description:
* 一、
* * 练习:判断com.test.filedemo目录下是否有后缀名为.java的文件
* * 如果有,统计该类型文件的个数并输出文件名称
* com\test\filedemo
* E:\ProgrammeSpace\idea2020.1\myStudySpace\myStudy3\src\w4day1
*
*
*/
public class Task1 {
public static void main(String[] args) {
File file0=new File("com\\test\\filedemo");
File file1=new File("src\\w4day1\\.java");
System.out.println(file0.exists());
System.out.println(file1.exists());
// 带参构造
File file = new File("E:\\ProgrammeSpace\\idea2020.1\\myStudySpace\\myStudy3\\src\\w4day1");
// 获取仅仅该目录下所有文件或者文件夹的File数组
File[] fileArray = file.listFiles();
int count=0;
// 遍历该File数组,得到每一个File对象,然后判断
for (File f : fileArray) {
// 是否是文件
if (f.isFile()) {
//组合使用
// 继续判断是否以.java结尾,第一个方法是File的,第二个是String的
if (f.getName().endsWith(".java")) {
// 就输出该文件名称
System.out.println(f.getName());
count++;
}
}
}
System.out.println("该目录下有"+count+"个Java文件");
}
}
2
package w4day1.task;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Title
* @Author Eastlin
* @Description:
* 二、
* * 已知文件的路径为:C:\mygames.txt
* * 要求得到
* * 是否存在
* * 取得文件名
* * 取得文件路径
* * 得到绝对路径
* * 得到文件夹名
* * 判断文件是否存在
* * 判断文件是否可读,可写
* * 判断是否是目录
* * 判断是否是文件
* * 是否是绝对路径名称
* * 文件的最后修改时间
* * 文件的大小
*/
public class Task2 {
public static void main(String[] args) {
File file=new File("C:\\mygames.txt");
// * * 是否存在
System.out.println("是否存在"+file.getParentFile().exists());
// * * 取得文件名
System.out.println("文件名"+file.getName());
// * * 取得文件路径
System.out.println("文件路径"+file.getPath());
// * * 得到绝对路径
System.out.println("绝对路径"+file.getAbsolutePath());
// * * 得到文件夹名
System.out.println("文件夹名"+file.getParent());
// * * 判断文件是否存在
System.out.println("文件是否存在"+file.exists());
// * * 判断文件是否可读,可写
System.out.println("文件是否可读,可写"+file.canRead());
System.out.println("文件是否可读,可写"+file.canWrite());
// * * 判断是否是目录
System.out.println("是否是目录"+file.isDirectory());
// * * 判断是否是文件
System.out.println("是否是文件"+file.isFile());
// * * 是否是绝对路径名称
System.out.println("是否是绝对路径名称"+file.isAbsolute());
// * * 文件的最后修改时间
Date date=new Date(file.lastModified());
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
String dateStr=sdf.format(date);
System.out.println("文件的最后修改时间"+dateStr);
// * * 文件的大小
System.out.println("文件的大小"+file.length());
}
}
3
package w4day1.task;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Title
* @Author Eastlin
* @Description:
* 三、
* * 1.在本地磁盘D盘中创建一个iotest文件夹
* * 2.在文件夹中创建一个以自己名字的拼音组成的文件名
* * 3.获取创建的这个文件的最后修改日期并打印到控制台
* * 4.将创建的这些文件和文件夹全部删除
* E:\ProgrammeSpace\idea2020.1\myStudySpace\myStudy3\src\w4day1
*/
public class Task3 {
public static void main(String[] args) {
// file.mkdir();
File file = new File("E:\\ProgrammeSpace\\idea2020.1\\myStudySpace\\myStudy3\\src\\w4day1\\iotest");
//1、在本地磁盘D盘中创建一个iotest文件夹
System.out.println("是否创建文件夹成功"+file.mkdir());//true
//2、在文件夹中创建一个以自己名字的拼音组成的文件名
File file2 = new File("E:\\ProgrammeSpace\\idea2020.1\\myStudySpace\\myStudy3\\src\\w4day1\\iotest\\Eastlin.txt");
try {
System.out.println(file2.createNewFile());//true
} catch (IOException e) {
e.printStackTrace();
}
//3、获取创建的这个文件的最后修改日期并打印到控制台
File file3 = new File("E:\\ProgrammeSpace\\idea2020.1\\myStudySpace\\myStudy3\\src\\w4day1\\iotest\\Eastlin.txt");
System.out.println(file3.lastModified());//1644323355925
Date date = new Date(file3.lastModified());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月DD日 HH时mm分ss秒");
String format = sdf.format(date);
System.out.println(format);
//4、将创建的这些文件和文件夹全部删除。
//先删文件
// System.out.println(file2.delete());//true
// //再删空文件夹
// System.out.println(file.delete());//true
}
}
4
package w4day1.task;
import java.io.File;
import java.util.Scanner;
/**
* @Title
* @Author Eastlin
* @Description:
* * 四、
* * 从键盘输入接收一个文件夹路径,打印-出-该文件夹下所有的.java文件名
* 应该不是除
*/
public class Task4 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String fileName;
while(true){
System.out.print("请正确输入路径:");
fileName=input.next();
File b =new File(fileName);
if(fileName.contains("/")||b.exists()){//这"/"只是其中一个不合法,前者有点冗余了
System.out.println("不合法或者不存在");
continue;
}
else {
break;
}
}
File file=new File(fileName);
File[] fileArray = file.listFiles();
// 遍历该File数组,得到每一个File对象,然后判断
for (File f : fileArray) {
// 是否是文件
if (f.isFile()) {
//组合使用
// 继续判断是否以.java结尾,第一个方法是File的,第二个是String的
if (f.getName().endsWith(".java")) {
// 就输出该文件名称
System.out.println(f.getName());
}
}
}
}
}
5
package w4day1.task;
import java.io.File;
import java.util.Scanner;
/**
* @Title
* @Author Eastlin
* @Description:
* 五、
* * 从键盘接收一个文件或者文件夹路径,删除该文件或者文件夹(删除该文件夹下所有的文件包括文件夹)
*/
public class Task5 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
String fileName;
while (true) {
System.out.print("请正确输入路径:");
fileName = input.next();
File b = new File(fileName);
if (fileName.contains("/") || b.exists()) {//这"/"只是其中一个不合法,前者有点冗余了
System.out.println("不合法或者不存在");
continue;
} else {
break;
}
}
File file = new File(fileName);
deleteFile(file);
System.out.println("文件夹已删除");
}
public static void deleteFile(File file){
File[] files = file.listFiles();
//如果文件夹下没有文件直接删除
if(files.length==0){
file.delete();
return;
}else{//不为空
for(File f:files){
if(f.isFile()){//是否文件
f.delete();
}else{
//如果是目录递归调用
deleteFile(f);
}
}
}
//删除外层目录,已经空了
file.delete();
}
}
// File[] listFiles()
// 返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
// File[] listFiles(FileFilter filter)
// 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。
// File[] listFiles(FilenameFilter filter)
// 返回一个抽象路径名数组,表示由此抽象路径名表示的满足指定过滤器的目录中的文件和目录。