使用空文件创建磁盘的“映像”

时间:2013-03-16 04:01:39

标签: java image file tree iso

我试图在java中创建类似于计算机硬盘驱动器的iso,但文件中没有数据。像文件树一样,但是iso。这发生在客户端A. 这一点是通过GAE将这个ISO文件树转移到另一个客户端(假设客户端B),他们应该能够使用Windows资源管理器在他的计算机上安装iso。

以上是我想要实现的目标 - 我知道这是非常具体的,对此感到抱歉。但是,我想知道的是如何创建一个ISO(或硬盘驱动器的其他一些可安装映像),文件中不包含任何数据。

文件中没有数据=文件仍然存在(我必须能够看到文件的名称),但它们是空的。你懂。用记事本打开它们,你得到的只是文件中的“”。还是一个空间。随你。关键是要使iso小,这样我就可以转移到客户端B,而不是转移整个硬盘。在此客户端B可以选择他想要获取另一台计算机的文件之后,这是一个不同的故事。

问题:

如何在Java中创建类似于计算机硬盘驱动器的ISO,但文件中没有数据?

随意推荐具有相同功能但采用不同方法的解决方案。

更新

填充ISO方法。创建了一个包含大量文件树的对象。如果你想做同样的事情,请联系我。

1 个答案:

答案 0 :(得分:0)

只是用空文件复制整个文件结构:

// you may want to actually handle the IOException rather than just throwing it
public static void main(String[] args) throws IOException
{
  makeFileStructure(new File("someDirectory"), "someDestinationDirectory");
}

static void makeFileStructure(File src, String dest) throws IOException
{
  for (File f: src.listFiles())
  {
     String newPath = dest + File.separatorChar + f.getName();
     if (f.isDirectory())
     {
        if (!new File(newPath).mkdirs())
           // you may want to handle this better
           throw new IOException("Directory could not be created!");
        makeFileStructure(f, newPath);
     }
     else
        new File(newPath).createNewFile();
  }
}

请确保"someDestinationDirectory"不是"someDirectory"的子目录,否则事情显然不会很顺利。

非常确定您需要一个外部库来创建ISO映像(如果您想创建它)。试试Googling it。但是使用外部应用程序和a batch file(运行上面的代码之后)可能更容易。