2013-03-16 73 views
0

我正在嘗試在java中創建類似於計算機的硬盤驅動器的東西,但文件中沒有數據。像文件樹一樣,但是是一個iso。這發生在客戶端A上。 這個問題的關鍵是將這個ISO文件樹通過GAE傳輸到另一個客戶端(假設客戶端B),他們應該能夠使用Windows資源管理器在他的計算機上掛載iso。用空文件創建磁盤的'映像'

以上是我想要達到的 - 我知道這是非常具體的,對此抱歉。但是,我想知道的只是如何創建ISO文件(或其他可安裝的硬盤驅動器映像),其中不包含文件中的任何數據。

文件中沒有數據=文件仍然存在(我必須能夠看到文件的名稱),但它們是空的。你懂。用記事本打開它們,你所得到的就是文件中的「」。或者一個空間。隨你。關鍵是讓iso尺寸小,這樣我就可以傳輸到客戶端B,而不用傳輸整個硬盤。在這個客戶B可以選擇他想要取回另一臺計算機的文件後,這是一個不同的故事。

問題:

如何創建類似Java中的計算機的硬盤驅動器的ISO,但在文件中沒有數據?

隨意推薦具有相同功能但採用不同方法的解決方案。

更新:

釀ISO方法。創建了一個包含大量文件樹的對象。以某種方式聯繫我,如果你想做同樣的事情。

+0

文件中沒有數據。但有多少數據文件不在那裏? [相關問題](http://stackoverflow.com/questions/9621227/create-an-empty-cd-rom-image-and-inject-extract-files-into-from-it-using-java)與相關回答。 – 2013-03-16 04:05:28

+0

哦,哇,迴應。大聲笑。有點困惑的問題。這個想法是讓圖像中的所有**文件都在硬盤上,否則這些東西就沒用了。 – SuperMrBlob 2013-03-16 04:08:01

+0

*「謝謝你閱讀!」*感謝您添加一個特定的問題。等等..你的問題是什麼? – 2013-03-16 04:57:28

回答

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(運行上面的代碼之後)可能會更容易。

+0

非常感謝這個:D。現在我需要弄清楚如何創建特定文件夾的ISO,儘管希望這不應該太難(https://github.com/stephenc/java-iso-tools或JIIC)。我會upvote,但沒有足夠的代表 – SuperMrBlob 2013-03-17 06:34:17

相關問題