Java虚拟文件系统应用程序

3

大家好,

我需要制作一个虚拟的Java文件系统。这意味着在程序中对该系统进行的所有修改都不会反映在真实的操作系统上 - 因此,如果用户在程序中创建、移动、删除、复制文件和目录,它只是模拟文件系统及其结构,而不做出其他任何改变。从初始点开始,我们在程序内存中维护文件系统的根目录 - 虚拟"C:"。用户可以输入命令"create directory C:\text"或"delete file C:\test2\myfile.txt"。您可以随时打印已创建的虚拟目录和文件的树形结构。

最佳方法是什么?或者我在哪里可以找到真实文件系统的工作原理?

P.S. 我想将目录组织为列表,文件组织为简单字符串。

谢谢!


一些想法:遵循POSIX规范(如mkdir,ls,chmod等)的命令,以便用户不会被未知命令所困扰(并且您可以跟踪需要完成的任务)。链接 - ignis
1
可能是Are there any Fake File System frameworks for Java?的重复问题。 - Ted Hopp
你是需要它还是需要创造它?比如,为了完成作业? - rolve
我会使用字节数组而不是字符串来处理底层文件。这样更接近现有文件系统的工作方式。 - Ted Hopp
4个回答

3

我认为Commons VFS不能提供OP正在寻找的功能。它是一个抽象层,可以呈现广泛现有存储系统的统一视图。它本身并不提供内存存储系统。 - Ted Hopp
OP可以使用内存数据库(如果可能的话),或者为VSF实现自己的FS实现。 - Pierre-Henri
问题实际上是如何“实现自己的FS实现”,因此这似乎让OP回到了起点。 - Ted Hopp
是的,但VFS会为此提供一个很好的框架(为您管理结构)。RAM实现将是一个很好的起点。 - Pierre-Henri

1
您可以使用这种格式。
public class Directory{

private List<File> files;


// geters and setters
// add more propertied to directory if required

}

 public class File{

private String name;
private int size;
private Date cretedDate;

// add more properties
  }

我不会使用不同的类。使用一个类节点,并添加所有必要的成员。比如listSubNodes,parent,isFile,isDirectory等等。 - tb-

0


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接