0

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

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

文件中没有数据 = 文件仍然存在(我必须能够看到文件的名称),但它们是空的。你知道。用记事本打开它们,你得到的只是文件中的“”。或者一个空间。任何。关键是使iso的大小变小,这样我就可以传输到客户端B,而不是传输整个硬盘驱动器。在这个客户端 B 可以选择他想从另一台计算机获取的文件之后,那是另一回事了。

问题:

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

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

更新:

填充了 ISO 方法。创建了一个包含大量文件树的对象。如果你想这样做,请以某种方式与我联系。

4

1 回答 1

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 映像(如果您想创建它)。尝试谷歌搜索它。但是使用外部应用程序和批处理文件(在运行上述代码之后)可能会更容易。

于 2013-03-16T10:41:09.497 回答