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

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

🌟系统介绍


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

实现功能:


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


所需知识:


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


🌟部分功能运行


重命名文件

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

774880ffe289ba8214b7c3301d720c83_b352cba7eb2c4259bd116c9b18d44797.png


创建文件

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

8653f77c0058b0f4d0125e3c87af1963_53bacd80a97c47cbb6bcb5c61effbc7c.png


删除文件

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

1d54718eb67490144cf7c9714fde8f6b_bdf87103e9bb4ac8ad4c71e927c61657.png


🌟知识一览


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:向文件写入字符数据


🌟写在最后


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


目录
相关文章
|
21小时前
|
Linux
Linux常用命令1
Linux常用命令1
5 0
|
23小时前
|
Linux
linux设置全局命令
linux设置全局命令
4 0
|
1天前
|
Linux 虚拟化 Windows
linux之df命令 查看分区大小
linux之df命令 查看分区大小
6 1
|
1天前
|
安全 Linux Shell
Linux常用命令详解与实战应用
【5月更文挑战第7天】本文详述了Linux常用命令,包括文件与目录操作(ls, cd, pwd, cp, mv, rm)、文本处理(cat, grep, sed)及系统管理(top, df, du)命令。通过实例演示了如何使用这些命令,帮助读者理解和掌握Linux操作,提升系统管理效率。学习和熟练运用这些基础命令,是高效使用Linux的关键。
|
1天前
|
存储 Linux Shell
Linux文件系统
Linux文件系统
10 2
|
1天前
|
存储 安全 Linux
深入理解 Linux 用户和用户组的基本概念 + 相关命令 (一篇就够)
深入理解 Linux 用户和用户组的基本概念 + 相关命令 (一篇就够)
|
1天前
|
Linux 数据库
Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
Linux 常用基础命令(2024年最新篇)新手小白必看 初识Linux
|
2天前
|
存储 监控 Ubuntu
Linux 中常用的 systemd 命令讲解
Linux 中常用的 systemd 命令讲解
|
2天前
|
存储 缓存 Linux
【Linux常见基本命令,一文速通(一)】
【Linux常见基本命令,一文速通(一)】
7 0