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


🌟写在最后


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


目录
相关文章
|
1月前
|
Linux
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
74 24
Linux系统之whereis命令的基本使用
|
5天前
|
Linux
Linux od命令
本文详细介绍了Linux中的 `od`命令,包括其基本语法、常用选项和示例。通过这些内容,你可以灵活地使用 `od`命令查看文件内容,提高分析和调试效率。确保理解每一个选项和示例的实现细节,应用到实际工作中时能有效地处理各种文件查看需求。
42 19
|
16天前
|
缓存 Ubuntu Linux
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
99 25
|
14天前
|
缓存 Linux
Linux查看内存命令
1. free free命令是最常用的查看内存使用情况的命令。它显示系统的总内存、已使用内存、空闲内存和交换内存的总量。 free -h • -h 选项:以易读的格式(如GB、MB)显示内存大小。 输出示例: total used free shared buff/cache available Mem: 15Gi 4.7Gi 4.1Gi 288Mi 6.6Gi 9.9Gi Swap: 2.0Gi 0B 2.0Gi • to
27 2
|
2月前
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
53 11
|
2月前
|
消息中间件 Linux
Linux:进程间通信(共享内存详细讲解以及小项目使用和相关指令、消息队列、信号量)
通过上述讲解和代码示例,您可以理解和实现Linux系统中的进程间通信机制,包括共享内存、消息队列和信号量。这些机制在实际开发中非常重要,能够提高系统的并发处理能力和数据通信效率。希望本文能为您的学习和开发提供实用的指导和帮助。
177 20
|
2月前
|
Ubuntu Linux 开发者
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
130 15
|
3月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
292 20
|
3月前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
205 8
|
3月前
|
Ubuntu Unix Linux
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
322 7

热门文章

最新文章