【InsCode】InsCode打造的JavaSE与Linux命令互融的伪Linux文件系统小项目

🧑‍💻作者名称:DaenCode

🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。

😎人生感悟:尝尽人生百味,方知世间冷暖。

📖所属专栏:JavaSE项目



文章目录

🌟系统介绍

体验地址JavaSE基础夯实之伪Linux文件系统
实现功能

  • 创建目录
  • 删除目录
  • 切换目录
  • 获取路径下目录及文件列表
  • 创建文件
  • 删除文件
  • 获取当前路径
  • 文件重命名

所需知识

  • File类常用API的用法
  • 异常捕获
  • 条件控制
  • 数组知识
  • 循环知识
  • IO流知识
  • Linux中的cd、mkdir、rm、touch、ls、pwd等等简单文件操作命令。

🌟部分功能运行

重命名文件

通过Linux命令的mv命令对当前new.txt重命名为daen.txt。

创建文件

通过linux中的touch命令创建test.txt。

删除文件

通过rm命令删除test.txt文件。

🌟知识一览

File类常用API

API 描述
File(String pathname) 通过给定的路径名字符串创建File对象。
File(File parent, String child) 创建File对象,表示指定父目录和指定子目录下的文件或目录。
exists() 测试文件或目录是否存在。
isDirectory() 测试文件是否为目录。
mkdir() 创建此抽象路径名指定的目录。
createNewFile() 当指定抽象路径名表示的文件不存在时,创建一个新的空文件。
delete() 删除此抽象路径名表示的文件或目录。
listFiles() 返回目录下的所有文件和子目录的文件数组。
getAbsolutePath() 返回此抽象路径名的绝对路径名字符串。
getCanonicalPath() 返回此抽象路径名的规范路径名字符串。
getName() 返回此抽象路径名表示的文件或目录的名称。
getParent() 返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
lastModified() 返回文件或目录最后一次被修改的时间,以毫秒表示。
length() 返回此抽象路径名表示的文件的长度(以字节为单位)。注意,如果此路径名表示的文件是一个目录,那么此方法返回值为0。
renameTo(File dest) 将此抽象路径名重命名为指定的路径名。
isFile() 测试此抽象路径名表示的文件是否是一个标准文件。

Linux文件系统命令

命令 描述 用法
ls 列出目录内容 ls [选项] [文件/目录]
cd 切换目录 cd [目录路径]
pwd 显示当前工作目录 pwd
mkdir 创建新目录 mkdir [目录名]
rmdir 删除空目录 rmdir [目录名]
cp 复制文件或目录 cp [选项] [源文件/目录] [目标文件/目录]
mv 移动文件或目录,或者重命名 mv [选项] [源文件/目录] [目标文件/目录]
rm 删除文件或目录 rm [选项] [文件/目录]
touch 创建空文件或更新文件时间戳 touch [文件]
cat 查看文件内容 cat [文件]
less 逐页查看文件内容 less [文件]
head 显示文件开头部分 head [选项] [文件]
tail 显示文件结尾部分 tail [选项] [文件]
ln 创建链接 ln [选项] [源文件] [链接文件]
find 在文件系统中搜索文件 find [路径] [选项] [表达式]
grep 在文件中搜索匹配的文本 grep [选项] [模式] [文件]
chmod 修改文件或目录的权限 chmod [选项] [权限] [文件/目录]
chown 修改文件或目录的所有者 chown [选项] [所有者] [文件/目录]
chgrp 修改文件或目录的所属组 chgrp [选项] [组] [文件/目录]
tar 打包和解压文件 tar [选项] [文件/目录]
gzip 压缩文件 gzip [选项] [文件]
unzip 解压缩文件 unzip [选项] [文件]

数组用法

操作 描述 示例
声明数组 声明一个数组变量 int[] numbers;
创建数组 使用 new 关键字创建实际的数组对象 numbers = new int[5];
初始化数组 在创建数组时直接初始化数组元素的值 int[] numbers = {1, 2, 3, 4, 5};
访问数组元素 使用索引访问数组中的元素 int thirdNumber = numbers[2];
修改数组元素 通过索引修改数组中的元素值 numbers[3] = 10;
获取数组长度 使用 length 属性获取数组的长度 int length = numbers.length;
遍历数组 使用循环结构遍历数组中的所有元素 for (int i = 0; i < numbers.length; i++) { System.out.println(numbers[i]); }

IO流基础

IO流类型 描述 示例
字节流 操作字节数据的IO流类型 - InputStream:用于从输入源读取字节数据 - OutputStream:用于向输出目标写入字节数据 - FileInputStream:从文件读取字节数据 - FileOutputStream:向文件写入字节数据 - BufferedInputStream:对其他字节流提供缓冲功能
字符流 操作字符数据的IO流类型 - Reader:用于从输入源读取字符数据 - Writer:用于向输出目标写入字符数据 - FileReader:从文件读取字符数据 - FileWriter:向文件写入字符数据 - BufferedReader:对其他字符流提供缓冲功能 - BufferedWriter:对其他字符流提供缓冲功能
缓冲流 提供缓冲功能,可以提高IO性能 - BufferedInputStream:对其他字节流提供缓冲功能 - BufferedOutputStream:对其他字节流提供缓冲功能 - BufferedReader:对其他字符流提供缓冲功能 - BufferedWriter:对其他字符流提供缓冲功能
对象流 序列化和反序列化Java对象的IO流类型 - ObjectInputStream:读取序列化对象 - ObjectOutputStream:写入序列化对象
转换流 在字节流和字符流之间进行转换 - InputStreamReader:将字节流转换为字符流 - OutputStreamWriter:将字符流转换为字节流
文件操作流 用于操作文件的IO流类型,如创建、删除、重命名等操作 - FileInputStream:从文件读取字节数据 - FileOutputStream:向文件写入字节数据 - FileReader:从文件读取字符数据 - FileWriter:向文件写入字符数据

🌟写在最后

最后感谢大家的阅读,对于小案例所需知识现在还没有系统的给大家整理,大家可以去网上找找相关资料。此外,也很乐意大家基于此案例完善更多的功能。有想法的可以在评论区讨论哦!


相关推荐
ChinaRainbowSea1 小时前
1. Linux下 MySQL 的详细安装与使用
linux·数据库·sql·mysql·adb
网络安全(华哥)1 小时前
网络安全服务实施流程管理 网络安全服务体系
运维·服务器·网络
致奋斗的我们1 小时前
Nginx反向代理及负载均衡
linux·运维·mysql·nginx·负载均衡·shell·openeluer
百锦再1 小时前
在Linux上创建一个Docker容器并在其中执行Python脚本
linux·python·docker
忧虑的乌龟蛋2 小时前
嵌入式 Linux:使用设备树驱动GPIO全流程
linux·服务器·嵌入式·imx6ull·gpio·点灯·pinctrl
朝九晚五ฺ2 小时前
【Linux探索学习】第三十弹——线程互斥与同步(上):深入理解线程保证安全的机制
linux·运维·学习
小林熬夜学编程2 小时前
【MySQL】第八弹---全面解析数据库表的增删改查操作:从创建到检索、排序与分页
linux·开发语言·数据库·mysql·算法
六六六六六66662 小时前
企业组网IP规划与先关协议分析
服务器·网络·tcp/ip
m0_748236113 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
linux·spring boot·后端
鱼不如渔3 小时前
leetcode刷题第十三天——二叉树Ⅲ
linux·算法·leetcode