有时,了解底层发生的事情是件好事,但 IMO .NET 变得如此抽象(以一种好的方式),这会使学习变得困难,因为我不了解表面之下发生的事情!
我假设 .NET 与 MS 操作系统紧密结合。因此,在使用 Directory() 或 File() 类时,我可以获取文件数据并且可以(仅)理解有关其工作原理的理论。
但是,像 Java 这样的东西并不是 Windows 原生的。那么,它如何引用我硬盘上的文件呢?尽管我希望我的问题是关于任何非 Microsoft 语言的,但我限制在 Java 上以保持重点
在我看来,只有两种方法。
直接从硬盘获取文件(因此不使用操作系统。
或者(这就是我迷路的地方)Java 运行时环境是否必须创建一个操作系统实例,然后获取公开“HereAreTheFiles()”方法的公共(public)方法。 EG下面的伪代码
WindowsOS windowsOs = new WindowsOS(); string[] files = windowsOs.GetAllFolders()
我希望这是有道理的。
最佳答案
每个操作系统都会有系统 api 来与操作系统/系统相关的任务进行交互。
在 Java 案例中,特定于 Windows 的 JVM/JRE 正在 Windows 环境中运行。因此所有 Java 系统函数都与操作系统/系统 API 交互以执行文件读/写。
Java 提供了一个抽象层来执行这些操作,它又通过调用操作系统的系统 API/ native API 调用来实现
关于java - 软件如何引用硬盘上的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14357817/