Java后端笔记12
程序员文章站
2022-07-09 21:46:19
...
File
import java.io.File;
/**
* Create by xiye on 2019/12/3 14:42
*/
public class Demo1_文件 {
/*
* File file = new File(String pathName);
* pathName可以是文件的路径字符串,也可以是文件夹路径字符串
* 当pathname为空字符串时,表示当前工程目录
*
* File file = new File(String basePath, String fileName);
* File file = new File(File parent, String child);
*
*
* */
public static void main(String[] args) {
fileMethod();
relativePathMethod();
}
private static void relativePathMethod() {
String separator = File.separator;
String path = "Day17" + separator + "src";
File file = new File(path);
System.out.println("文件构造器名称:" + file.getPath());
System.out.println("文件绝对名称:" + file.getAbsolutePath());
}
private static void fileMethod() {
String basePath = "D:\\file_test\\";
String fileName = "a.md";
File file = new File(basePath, fileName);
System.out.println(file);
System.out.println("文件/目录名称:" + file.getName());
}
}
文件/目录操作
import java.io.File;
import java.io.IOException;
/**
* Create by xiye on 2019/12/3 15:44
*/
public class Demo2_文件操作 {
public static void main(String[] args) {
File dir = new File("D:/file_test/");
// 是否存在文件/目录
if (dir.exists()) {
System.out.println("目录已存在,删除:" + dir.delete());
}
// mkdir()只能创建一级没有存在的目录,如需多级创建,使用mkdirs()
System.out.println("创建目录" + dir.getAbsolutePath() + ":" + dir.mkdir());
// 是一个目录
if (dir.isDirectory()) {
File file = new File(dir, "a.md");
// 存在文件
if (file.exists() && file.isFile()) {
System.out.println("删除文件" + file.getAbsolutePath() + ":" + file.delete());
}
try {
// 创建文件
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
遍历当前一级文件/目录
import java.io.File;
import java.util.Arrays;
/**
* Create by xiye on 2019/12/3 16:06
*/
public class Demo3_文件遍历 {
public static void main(String[] args) {
File file = new File("E:/");
// 只能获取当前同一级的文件/目录
File[] files = file.listFiles();
String[] dirs = file.list();
System.out.println(Arrays.toString(files));
System.out.println(Arrays.toString(dirs));
}
}
递归遍历多级文件
import java.io.File;
/**
* Create by xiye on 2019/12/3 16:36
*/
public class Demo4_递归 {
public static void main(String[] args) {
//System.out.println("10! = " + mul(10));
//System.out.println("10+ = " + add(10));
File file = new File(new File("").getAbsolutePath());
getFilePath(file);
}
private static void getFilePath(File file) {
// 设置文件过滤器
File[] files = file.listFiles(f -> f.getName().endsWith(".java") || f.isDirectory());
if (files != null) {
for (File f : files) {
if (f.isFile()) {
System.out.println("文件:" + f.getAbsolutePath());
} else {
// 是文件夹就递归
getFilePath(f);
}
}
}
}
public static int mul(int n) {
if (n == 1) {
return 1;
}
return n * mul(n - 1);
}
public static int add(int n) {
if (n == 1) {
return 1;
}
return n + add(n - 1);
}
}
上一篇: c 指针学习记录
下一篇: const限定符解析
推荐阅读
-
java 学习笔记(入门篇)_多选择结构switch语句
-
java 学习笔记(入门篇)_java的基础语法
-
Java开发笔记(一百二十六)Swing的窗口
-
Java学习笔记(6)---正则表达式,方法
-
Java学习笔记(5)--- Number类和Math 类,String类的应用,Java数组入门
-
详解Docker学习笔记之搭建一个JAVA Tomcat运行环境
-
SpringBootSecurity学习(12)前后端分离版之简单登录
-
java并发笔记四之synchronized 锁的膨胀过程(锁的升级过程)深入剖析
-
Java开发笔记(一百三十二)Swing的表格
-
Java开发笔记(一百四十七)通过JDBC管理数据库