首页 > 编程语言 >自己动手写ls命令——Java版

自己动手写ls命令——Java版

时间:2022-10-10 14:24:26浏览次数:81  
标签:Java attr System 动手 ls print println out

自己动手写ls命令——Java版

介绍

在前面的文章Linux命令系列之ls——原来最简单的ls这么复杂当中,我们仔细的介绍了关于ls命令的使用和输出结果,在本篇文章当中我们用Java代码自己实现ls命令,更加深入的了解ls命令。

代码实现

文件操作的基本原理

如果我们使用Java实现一个简单的ls命令其实并不难,因为Java已经给我们提供了一些比较方便和文件系统相关的api了,困难的是理解api是在做什么事儿!

事实上这些api都是操作系统给我们提供的,然后Java进行了一些列的封装,将这些操作给我们进行提供,我们仔细来看一下封装的层次,首先操作系统会给我们提供很多系统调用用于和设备(磁盘、CPU)进行交互,比如说和文件的交互就是读写数据,当然我们的Java程序也需要这些操作,因此JVM也需要给我们提供这些操作,因此JVM就对系统调用进行了一系列的封装,在Java当中具体的形式就是用native修饰的方法。

如果你是一个比较有经验Java程序员那么一定见过Java当中的native方法,这些方法都是Java给我们封装的底层接口,比如说在FileInputStream当中有一个read方法,这个方法就是读取文件当中的内容,我们看一下这个方法是如何实现的:

    public int read() throws IOException {
        return read0();
    }

这里让大家的感受更加深入一点

标签:Java,attr,System,动手,ls,print,println,out
From: https://www.cnblogs.com/Chang-LeHung/p/16775547.html

相关文章

  • javascrip的日期
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • Flutter Cocoon 已达到 SLSA 2 级标准的要求
    文/JesseSeales,Dart和Flutter安全工作组工程师今年年初,我们发布了Flutter2022产品路线图,其中「基础设施建设」这部分提到:2022年Flutter团队将增加对供应链的......
  • Eclipse将Maven项目打成jar包以及java用命令运行jar包指定类下的main方法
    Eclipse将项目打包成jar参考:https://javaforall.cn/151764.html      https://blog.csdn.net/xiaofengfeng_24/article/details/1252642531:在eclipse中选中项......
  • Javascript获取当前年月日并计算
    需求:表单初始加载,获取系统当前时间,加半年和一年给两个日期字段赋值步骤:1.获取当前年,当前月,当前日期2.对年月日进行运算,完成后拼接赋值代码如下:(泛微E9)......
  • Java开发相关软件的历史版本
    JDK或Java版本JDKReleaseshttps://www.java.com/releases/部分版本的日期:2014-03-18  Major  8LTS,即JAVA82018-09-25  Feature  11LTS,即JAVA1......
  • Java 面试手撕代码
    1.判断括号有效性publicstaticbooleanfun5(Stringstr){HashMap<Character,Character>hashMap=newHashMap<>();hashMap.put(')','(');hashMap.put......
  • Java-Day04 Scanner/if-else/switch-case/for
    2022/10/9一、Scanner:从键盘获取数据1.要使用Scanner首先需要导入包:importjava.util.Scanner;2.使用方法:Scanner变量名=newScanner(System.in);/......
  • SAP UI5 Tools 的 Custom UI5 Server Middleware 介绍
    UI5服务器可扩展性(Extensibility)使开发人员能够增强UI5服务器的功能。开发人员可能希望以不同的方式处理请求。例如,将各种标头添加到响应中(一个最典型的应用就是避......
  • javascript parse date string - js 字符串转日期
    一、日期数字newDate().getTime()//1665370859678数字表示从UTC+0时区的1970年1月1日0时0分0秒开始的那一刻起,所经过的毫秒数。无论是在北京还是伦敦,此时此刻,无论......
  • 尚硅谷-JavaWeb Day6 JavaEE三层架构及web分层结构
    JavaEE三层架构介绍分层的目的是为了解耦,解耦就是为了降低代码耦合度,方便项目后期的维护和升级; web层:com.xxx.web/servlet/controllerservice层:com.xxx.serv......