JAVA实战:文件管理系统1.0

引言:

最近我将完成一个文件管理系统,今天先初步了解文件管理系统的常用功能,还未涉及窗口的内容。

一、各功能呈现

为了使功能呈现更简洁且方便操作,所以加入了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;
            }


        }
    }
}
相关推荐
恋猫de小郭6 分钟前
移动端开发稳了?AI 目前还无法取代客户端开发,小红书的论文告诉你数据
前端·flutter·ai编程
文心快码BaiduComate25 分钟前
百度云与光本位签署战略合作:用AI Agent 重构芯片研发流程
前端·人工智能·架构
Derek_Smart41 分钟前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
闲云一鹤1 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
QCY1 小时前
「完全理解」1 分钟实现自己的 Coding Agent
前端·agent·claude
NE_STOP2 小时前
MyBatis-mybatis入门与增删改查
java
一拳不是超人2 小时前
Electron主窗口弹框被WebContentView遮挡?独立WebContentView弹框方案详解!
前端·javascript·electron
anyup2 小时前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
雮尘2 小时前
如何在非 Claude IDE (TARE、 Cursor、Antigravity 等)下使用 Agent Skills
前端·agent·ai编程
icebreaker2 小时前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序