引言:
最近我将完成一个文件管理系统,今天先初步了解文件管理系统的常用功能,还未涉及窗口的内容。
一、各功能呈现
为了使功能呈现更简洁且方便操作,所以加入了while循环。
System.out.println("请选择功能:");
System.out.println("1001.获取文件名");
System.out.println("2001.创建文件");
System.out.println("3001.删除文件");
System.out.println("4001.获取路径");
System.out.println("5001.创建多级目录");
System.out.println("8001.退出");
System.out.println("请输入一个功能编号:");
1、遍历获取文件名
if(cid == 1001) {
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
}
此处主要运用的是File类的list功能,files/是相对路径。
2、在files中创建文件
/创建文件
if(cid==2001){
System.out.print("请输入要创建的文件名: ");
String fileName = sc.next();
File file = new File("files/" + fileName);
try {
boolean created = file.createNewFile();
if (created) {
System.out.println("文件创建成功");
} else {
System.out.println("文件已存在");
}
} catch (IOException e) {
System.out.println("创建文件时出错: " + e.getMessage());
}
}
3、在files中删除文件
//删除文件
if(cid==3001){
System.out.println("请输入要删除的文件名: ");
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
String fileName = sc.next();
file = new File("files/" + fileName);
boolean deleted = file.delete();
if (deleted) {
System.out.println("文件删除成功");
} else {
System.out.println("文件删除失败,可能文件不存在或无权限");
}
}
蓝色部分代码就是第一个功能,方便选择。
4、获取路径
这部分代码写的有点鸡肋,我后续会再更改。
//获取路径
if(cid==4001){
System.out.println("请输入要获取路径的文件名: ");
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
String fileName = sc.next();
file = new File("files/" + fileName);
String path = file.getPath();
System.out.println(path);
}
5、创建多级目录
// 创建多级目录
if (cid == 5001) {
System.out.print("请输入要创建的多级目录路径: ");
String dirPath = sc.next();
File dir = new File(dirPath);
boolean created = dir.mkdirs();
if (created) {
System.out.println("多级目录创建成功: " + dir.getAbsolutePath());
} else {
System.out.println("目录已存在或创建失败");
}
}
二、完整代码
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class FileDemo2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (true) {
System.out.println("请选择功能:");
System.out.println("1001.获取文件名");
System.out.println("2001.创建文件");
System.out.println("3001.删除文件");
System.out.println("4001.获取路径");
System.out.println("5001.创建多级目录");
System.out.println("8001.退出");
System.out.println("请输入一个功能编号:");
int cid ;
cid = sc.nextInt();
//获取文件名
if(cid == 1001) {
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
}
//创建文件
if(cid==2001){
System.out.print("请输入要创建的文件名: ");
String fileName = sc.next();
File file = new File("files/" + fileName);
try {
boolean created = file.createNewFile();
if (created) {
System.out.println("文件创建成功");
} else {
System.out.println("文件已存在");
}
} catch (IOException e) {
System.out.println("创建文件时出错: " + e.getMessage());
}
}
//删除文件
if(cid==3001){
System.out.println("请输入要删除的文件名: ");
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
String fileName = sc.next();
file = new File("files/" + fileName);
boolean deleted = file.delete();
if (deleted) {
System.out.println("文件删除成功");
} else {
System.out.println("文件删除失败,可能文件不存在或无权限");
}
}
//获取路径
if(cid==4001){
System.out.println("请输入要获取路径的文件名: ");
File file = new File("files/");
String[] list = file.list();
if (list != null) {
for (String name : list) {
System.out.println(name);
}
} else {
System.out.println("目录不存在或无法访问");
}
String fileName = sc.next();
file = new File("files/" + fileName);
String path = file.getPath();
System.out.println(path);
}
// 创建多级目录
if (cid == 5001) {
System.out.print("请输入要创建的多级目录路径: ");
String dirPath = sc.next();
File dir = new File(dirPath);
boolean created = dir.mkdirs();
if (created) {
System.out.println("多级目录创建成功: " + dir.getAbsolutePath());
} else {
System.out.println("目录已存在或创建失败");
}
}
//终止循环
if(cid==8001){
break;
}
}
}
}