【InsCode】InsCode打造的JavaSE与Linux命令互融的伪Linux文件系统小项目
🧑💻作者名称:DaenCode
🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。
😎人生感悟:尝尽人生百味,方知世间冷暖。
📖所属专栏:JavaSE项目

文章目录
- 🌟系统介绍
- 🌟部分功能运行
- 重命名文件
- 创建文件
- 删除文件
- 🌟知识一览
- File类常用API
- Linux文件系统命令
- 数组用法
- IO流基础
- 🌟写在最后
🌟系统介绍
体验地址: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:向文件写入字符数据 |
🌟写在最后
最后感谢大家的阅读,对于小案例所需知识现在还没有系统的给大家整理,大家可以去网上找找相关资料。此外,也很乐意大家基于此案例完善更多的功能。有想法的可以在评论区讨论哦!

相关文章:
【InsCode】InsCode打造的JavaSE与Linux命令互融的伪Linux文件系统小项目
🧑💻作者名称:DaenCode 🎤作者简介:啥技术都喜欢捣鼓捣鼓,喜欢分享技术、经验、生活。 😎人生感悟:尝尽人生百味,方知世间冷暖。 📖所属专栏:Ja…...
“深入解析JVM:探索Java虚拟机的内部机制“
标题:深入解析JVM:探索Java虚拟机的内部机制 摘要:本文将深入探索Java虚拟机(JVM)的内部机制,包括JVM的基本结构、内存管理、垃圾回收机制和即时编译器等。通过对JVM内部机制的详细解析,我们可…...
内网远程控制总结
前言 在内网渗透过程中,会碰到远程控制soft或者其他,这里针对远程控制软件做如下总结。 远程控制软件 向日葵篇 向日葵查看版本 向日葵(可以攻击) 针对向日葵的话其实如果有本地安装的话,是有可能存在漏洞的。这…...
Excel显示此值与此单元格定义的数据验证限制不匹配怎么办?
总结:1、在编辑excel文档的时候,弹出此时预测单元格定义的数据验证,限制不匹配的提示。2、这是我们点击菜单来的数据菜单。3、然后点击数据工具栏的数据验证下拉按钮。4、在弹出的菜单中选择数据验证的菜单项。5、然后在打开的窗口中点击左下…...
mysql(八)事务隔离级别及加锁流程详解
目录 MySQL 锁简介什么是锁锁的作用锁的种类共享排他锁共享锁排它锁 粒度锁全局锁表级锁页级锁行级锁种类 意向锁间隙临键记录锁记录锁间隙锁 加锁的流程锁的内存结构加锁的基本流程根据主键加锁根据二级索引加锁根据非索引字段查询加锁加锁规律 锁信息查看查看锁的sql语句 数据…...
华为云Stack的学习(二)
三、华为云Stack产品组件 FunsionSphere CPS 提供云平台的基础管理和业务资源(包括计算资源和存储资源)。采用物理服务器方式部署在管理节点。可以做集群的配置,扩容和运维管理。 Service OM 提供云服务的运维能力,采用虚拟化方…...
好用的网页制作工具就是这6个,快点来看!
对于网页设计师来说,好用的网页设计工具是非常重要的,今天本文收集了6个好用的网页设计工具供设计师自由挑选使用。在这6个好用的网页设计工具的帮助下,设计师将获得更高的工作效率和更精致的网页设计效果,接下来,就一…...
一文讲通物联网嵌入式
最近有很多同学问我,物联网近几年一直是科技的热点,嵌入式和物联网有什么关系呢?我在这里统一给大家讲解一下。 嵌入式是应用于物联网产品方向的一种嵌入式操作系统。类似于Android系统是谷歌开发的移动操作系统,嵌入式实际上也是…...
Unity3D Pico VR 手势识别 二
Unity3D Pico VR 手势识别_Cool-浩的博客-CSDN博客 此篇主要讲解怎么手势追踪,手势姿态自定义预制识别,不会导入SDK和配置环境的请看上一章节 环境要求 SDK 版本:2.3.0 及以上PICO 设备型号:PICO Neo3 和 PICO 4 系列PICO 设备系…...
ubuntu中使用iptables限制端口
脚本 #!/bin/bash#关闭所有端口 echo "关闭所有入口" iptables -P INPUT DROP iptables -P FORWARD DROP#允许所有已建立的连接和相关连接的回复数据包通过 iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT#允许ping iptables -A INPUT -p…...
Orchestrator介绍二 自身高可用性方案
目录 获得 HA 的方法 一 没有高可用性 (No high availability) 使用场景 架构组成 架构图 二 半高可用性(Semi HA) 三 基于共享数据库后端高可用(HA via shared backend) 四 基于Raft协议高可用 五…...
成集云 | 旺店通多包裹数据同步钉钉 | 解决方案
源系统成集云目标系统 方案介绍 随着品牌电商兴起,线上线下开始逐渐融为一体,成集云以旺店通ERP系统为例,通过成集云-旺店通连接器,将旺店通ERP系统多包裹数据同步至钉钉实现数据互通,帮助企业解决了电商发货存在的错…...
什么是字体图标(Icon Font)?如何在网页中使用字体图标?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 字体图标(Icon Font)⭐ 如何在网页中使用字体图标⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&a…...
Blender文件云端GPU渲染
本文介绍如何在 GPU云平台vast.ai 上渲染Blender动画的技术指南,假设你已使用 vast.ai 并知道如何启动实例,这里的重要步骤是为实例选择正确的映像。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 使用 nvidia/cuda:11.4.1-cudnn8-devel-ubuntu2…...
C++——引用
引用的概念 引用不是新定义一个变量,而是给已存在的变量取一个别名,编译器不会因为引用变量而开辟内存空间,它和它引用的变量公用同一块空间。 相当于是给被引用的变量取了一个小名,但是相当于是同一个变量。 类型& 引用变…...
Flask入门一 ——虚拟环境及Flask安装
Flask入门一 ——虚拟环境及Flask安装 在大多数标准中,Flask都算是小型框架,小到可以称为“微框架”,但是并不意味着他比其他框架功能少。Flask自开发伊始就被设计为可扩展的框架。Flask具有一个包含基本服务的强健核心,其他功能…...
接口测试json入参,不同类型参数格式书写
接口json入参,不同类型参数格式 1、String 入参:A(String),B(String) 格式:{"A":"值a","B":"值b"} 示例: 接口测试入参这么…...
go web框架 gin-gonic源码解读03————middleware
go web框架 gin-gonic源码解读03————middleware(context) 今天打完游戏有空整理整理之前看的gin的中间件设计,go的中间件设计相较于前两站还是蛮简单,蛮容易看懂的,所以顺便把context也一起写一下。 中间件是现在w…...
win10电脑记事本在哪里?电脑记事本如何查看字数?
在日常工作中,我们会遇到许多需要记录的信息和事项,而使用电脑记事本工具可以帮助我们方便地保存、管理这些内容。无论是记录工作会议的要点、制定工作计划,还是记录灵感和创意,电脑记事本都是非常实用的工具。 那么win10电脑记事…...
【微服务】06-安全问题
文章目录 1.反跨站请求伪造1.1 攻击过程1.2 攻击核心1.3 如何防御1.4 使用AntiforgeryToken机制来防御用到的类 2. 防开发重定向共计2.1 攻击过程2.2 攻击核心2.3 防范措施 3.防跨站脚本3.1 攻击过程3.2 防范措施 4.跨域请求4.1 同源与跨域4.2 CORS过程4.2 CORS是什么4.3 CORS请…...
操作系统-lazy allocation
只有真正需要使用这些页的时候,才进行物理内存页的实际分配sbrk()在xv6操作系统中,进程的用户内存布局由代码段(text)、数据段(data)、堆区(heap)和栈区(stack)组成。sbrk()主要修改的是堆区的大小,堆在xv6中由低地址向高地址拓展。当程序调用sbrk(n)时,操作系统内核…...
Palo Alto PAN-OS 12.1.5 VM-Series for ESXi, KVM - 基于机器学习的下一代防火墙操作系统
Palo Alto PAN-OS 12.1.5 Orion 发布 - 基于机器学习的下一代防火墙操作系统 PAN-OS 12.1 Orion delivers industry firsts including quantum readiness, unified multi-cloud protection, and more. 请访问原文链接:https://sysin.org/blog/pan-os-12/ 查看最新…...
【计算机网络工程论文】基于三层交换的局域网设计:连平中学教学楼VLAN划分与eNSP仿真应用
摘 要 随着连平中学发展和信息化平台的建设,面对庞大的信息数据和高要求的管理效率,网络的规划、管理、安全逐渐成为关键。对教学楼而言,规划一个高效、稳定、可扩展的局域网至关重要。 本文针对连平中学教学单位,鉴于其所有部门…...
jsontop.cn使用全攻略:免费无广告的在线工具站,电脑手机通用
你是否经常遇到这些问题: 拿到一堆杂乱 JSON 看不懂,想格式化却不会?需要转 Base64、算 MD5、转时间戳,却要装复杂软件?想测试正则、预览 HTML,还要搭环境、找插件?网上工具全是广告࿰…...
dexcount-gradle-plugin最佳实践:提升Android应用性能的10个技巧
dexcount-gradle-plugin最佳实践:提升Android应用性能的10个技巧 【免费下载链接】dexcount-gradle-plugin A Gradle plugin to report the number of method references in your APK on every build. 项目地址: https://gitcode.com/gh_mirrors/de/dexcount-grad…...
SP140 ESC遥测驱动库:曼彻斯特编码与单线UART嵌入式解析
1. OpenPPG_SP140_ESC 库深度解析:面向电动动力系统的嵌入式ESC遥测驱动开发指南1.1 项目定位与工程价值OpenPPG_SP140_ESC 是一个专为 SP140 电子调速器(ESC)设计的 Arduino 兼容库,其核心价值不在于通用电机控制,而在…...
4个关键步骤:用vscode-ai-toolkit实现智能应用开发全流程
4个关键步骤:用vscode-ai-toolkit实现智能应用开发全流程 【免费下载链接】vscode-ai-toolkit 项目地址: https://gitcode.com/GitHub_Trending/vs/vscode-ai-toolkit AI Toolkit for Visual Studio Code是一款专为简化生成式AI应用开发设计的强大VS Code扩…...
基于偏振无关的传输相位调控技术,实现可见光超透镜的优化设计
基于传输相位的可见光超透镜 偏振无关搞过光学设计的工程师都知道,传统透镜那个笨重的曲面有多让人头疼。现在有了一种黑科技——可见光波段的超透镜,厚度只有几百纳米,却能实现传统透镜的光学效果。关键是这玩意儿还搞定了偏振相关性这个老大…...
Treap(树堆)实战:从原理到代码实现与性能对比
1. 什么是Treap:当二叉搜索树遇上堆 第一次听说Treap这个数据结构时,我正被红黑树的旋转操作折磨得焦头烂额。直到某天在算法竞赛讨论区看到有人用20行代码实现了一个"魔法平衡树",才真正打开了新世界的大门。Treap这个名字本身就揭…...
【ROS2小白入门】从 ROS 1 到 ROS 2 的跨越:实战重构机器人底盘 Manager 节点
文章目录一、 构建系统的蜕变:CMakeLists.txt 的优雅转身1. 告别 target_link_libraries🚨 避坑指南 1:找不到 serial 串口库?二、 C 源码大换血:彻底消灭 NodeHandle三、 通信机制迁移:发布、订阅与异步服…...
