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

🌟写在最后

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


请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/109655.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈 Linux 下 vim 的使用

Vim 是从 vi 发展出来的一个文本编辑器&#xff0c;其代码补全、编译及错误跳转等方便编程的功能特别丰富&#xff0c;在程序员中被广泛使用。 Vi 是老式的字处理器&#xff0c;功能虽然已经很齐全了&#xff0c;但还有可以进步的地方。Vim 可以说是程序开发者的一项很好用的工…

Redis三种特殊数据类型

Redis三种特殊数据类型 geospatial 地理位置 Redis 地理空间数据类型简介 Redis 地理空间索引允许您存储坐标并搜索它们。 此数据结构可用于查找给定半径或边界框内的邻近点。 基本命令 GEOADD 将位置添加到给定的地理空间索引&#xff08;请注意&#xff0c;使用此命令&a…

开始MySQL之路—— DDL语法、DML语法、DQL语法基本操作详解

DDL语法 DDL&#xff08;Data Definition Language&#xff09; 数据定义语言&#xff0c;该语言部分包括以下内容。 对数据库的常用操作 对表结构的常用操作 修改表结构 对数据库的常用操作 1: 查看当前所有的数据库 show databases; 2&#xff1a;创建数据库 create dat…

【项目实战典型案例】05.前后端分离的好处(发送调查问卷)

目录 一、背景二、思路三、过程1、主要的业务逻辑2、解决问题的思路 四、总结五、面向对象的好处 一、背景 以下流程图是给用户发送调查问的整体流程&#xff0c;将不必要的业务逻辑放到前端进行处理。这样导致逻辑混乱难以维护。前后端分离的其中一个目的是将功能的样式放在了…

数据结构 - 线性表的顺序存储

一、顺序存储定义&#xff1a; 把逻辑上相邻的数据元素存储在物理上相邻的存储单元中。简言之&#xff0c;逻辑上相邻&#xff0c;物理上也相邻顺序表中&#xff0c;任一元素可以随机存取&#xff08;优点&#xff09; 二、顺序表中元素存储位置的计算 三、顺序表在算法中的实…

RISC-V公测平台发布 · 在SG2042上配置Jupiter+Octave科学计算环境

简介 JupyterHub是一个开源的共享计算平台&#xff0c;它为每个用户管理一个单独的 Jupyter 环境&#xff0c; 可以用于学生班级、企业数据科学小组或科学研究小组。它是一个多用户中心&#xff0c;可以生成、管理和代理多个单用户Jupyter笔记本服务器的实例。 GNU Octave是一…

视频怎么变成动态gif图?一个方法轻松转换

怎么将视频转换成gif动态图片呢&#xff1f;大家在日常看电影、电视剧&#xff0c;刷短视频的时候想要将其做成gif表情包时&#xff0c;应该如何操作呢&#xff1f;这时候&#xff0c;给大家分享一款操作简单无需下载的视频gif转换&#xff08;https://www.gif.cn/&#xff09;…

Spring相关知识

0、Spring的核心就是AOP和IOC IOC&#xff1a; AOP&#xff1a;AOP&#xff08;Aspect Oriented Programming&#xff09;是面向切面编程&#xff0c;它是一种编程思想&#xff0c;是面向对象编程&#xff08;OOP&#xff09;的一种补充。面向对象编程将程序抽象成各个层次的…

华为数通方向HCIP-DataCom H12-821题库(单选题:41-60)

第41题 以下关于IS-IS协议说法错误的是? A、IS-IS协议支持CLNP网络 B、IS-IS 协议支持IP 网络 C、IS-IS 协议的报文直接由数据链路层封装 D、IS-IS协议是运行在AS之间的链路状态协议 答案&#xff1a;D 解析&#xff1a; 关于IS-IS协议的说法错误是D. IS-IS协议是运行在A…

融媒行业落地客户旅程编排,详解数字化用户运营实战

移动互联网时代是流量红利的时代&#xff0c;企业常用低成本的方式进行获客&#xff0c;“增长黑客”的概念大范围传播。与此同时&#xff0c;机构媒体受到传播环境的影响&#xff0c;也开始启动全行业的媒体融合转型。在此背景下&#xff0c;2015 年神策数据成立&#xff0c;核…

Django(6)-django项目自动化测试

Django 应用的测试应该写在应用的 tests.py 文件里。测试系统会自动的在所有以 tests 开头的文件里寻找并执行测试代码。 我们的 polls 应用现在有一个小 bug 需要被修复&#xff1a;我们的要求是如果 Question 是在一天之内发布的&#xff0c; Question.was_published_recentl…

【VRTK4.0运动专题】轴移动AxisMove(真实身体的移动)

文章目录 1、概览2、释义3、属性设置 1、概览 2、释义 “竖直轴”控制的行为“水平轴”控制的行为1Vertical-Slide 滑动Horizontal-Slide 滑动2Vertical-Slide 滑动Horizontal-SmoothRotate 转动3Vertical-Slide 滑动Horizontal-SnapRotate 转动&#xff08;不连续&#xff09…

5G网关如何提升智慧乡村农业生产效率

得益于我国持续推进5G建设&#xff0c;截至今年5月&#xff0c;我国5G基站总数已达284.4万个&#xff0c;覆盖全国所有地级市、县城城区和9成以上的乡镇镇区&#xff0c;实现“镇镇通5G”&#xff0c;全面覆盖了从城市到农村的延伸。 依托5G网络的技术优势&#xff0c;智慧乡村…

Squaretest 1.8.3 安装激活

1. 插件下载 2. 离线安装 3. 插件激活

续1-续3《你的医书是假的!批评付施威的《DDD诊所——聚合过大综合症》

DDD领域驱动设计批评文集 “软件方法建模师”不再考查基础题 《软件方法》各章合集 我写了一篇文章&#xff0c;批评付施威的《DDD诊所——聚合过大综合症》&#xff08;以下简称《DDD诊所》&#xff09;&#xff0c;文章是《你的医书是假的&#xff01;批评付施威的《DDD诊…

vscode调试PHP代码

目录 准备工作ssh的连接以及配置调试 准备工作 1.首先你需要下载一个vscode 2.下载模块 你需要在VScode中去下载我们所需的两个模块PHP Debug以及remote -ssh 3.安装对应版本的xdebug 需要在xdebug的官方去进行分析&#xff0c;选择适合你自己版本的xdebug 去往官方&#x…

ThinkPHP 验证码扩展库的使用,以及多应用模式下,如何自定义验证码校验规则

ThinkPHP 验证码扩展库的使用&#xff0c;以及多应用模式下&#xff0c;如何自定义验证码校验规则 一、安装二、页面使用三、验证码相关配置属性1. 自定义验证码配置2. 自定义验证码&#xff08;一&#xff09;普通验证码3. 自定义验证码&#xff08;二&#xff09;算数验证码4…

MySQL概述,架构原理

一.MySQL简介 MySQL是一个关系型数据库管理系统&#xff0c;由瑞典的MySQL AB公司开发&#xff0c;后被oracle公司收购&#xff0c;MySQL是当下最流行的关系型数据库管理系统之一&#xff0c;在WEB应用方面&#xff0c;MySQL是最好的RDBMS&#xff08;Relational Database Man…

为 LVGL 添加截图功能(lv_100ask_screenshot)

完整的演示视频观看&#xff1a; https://www.bilibili.com/video/BV18r4y1X7MJ 前言 lv_100ask_screenshot 是一个基于 lvgl 的屏幕截图工具。 lv_100ask_screenshot 特性&#xff1a; 可以将LVGL的屏幕对象(全屏)保存为图片文件&#xff1a;lv_scr_act()&#xff0c;laye…

Flask狼书笔记 | 03_模板

文章目录 3 模板3.1 模板基本使用3.2 模板结构组织3.3 模板进阶 3 模板 模板&#xff08;template&#xff09;&#xff1a;包含固定内容和动态部分的可重用文件。Jinja2模板引擎可用于任何纯文本文件。 3.1 模板基本使用 HTML实体&#xff1a;https://dev.w3.org/html5/htm…