有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建包含空文件的磁盘的“映像”

我正试图用java创建类似于计算机硬盘iso的东西,但文件中没有数据。像一个文件树,但一个iso。这发生在客户机A上。 其要点是通过GAE将此ISO文件树传输到另一个客户机(比如客户机B),该客户机应该能够使用windows资源管理器在其计算机上装载ISO

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

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

问题:

如何用Java创建计算机硬盘的ISO,但文件中没有数据

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

更新:

采用ISO方法。创建了一个包含大量文件树的对象。如果你想这样做,请联系我


共 (1) 个答案

  1. # 1 楼答案

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

    // 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(在运行了上述代码之后)来实现这一点可能会更容易