0

Java でコンピューターのハード ドライブの iso のようなものを作成しようとしていますが、ファイルにデータがありません。ファイル ツリーに似ていますが、iso です。これはクライアント A で発生します。これのポイントは、この ISO ファイル ツリーを GAE 経由で別のクライアント (クライアント B としましょう) に転送することです。別のクライアント (クライアント B としましょう) は、Windows エクスプローラーを使用して自分のコンピューターに ISO をマウントできるはずです。

上記は私が達成したいことです-私はそれが非常に具体的であることを知っています、これについては申し訳ありません。ただし、知りたいのは、ファイルにデータを含まない ISO (またはハード ドライブの他のマウント可能なイメージ) を作成する方法だけです。

ファイルにデータがありません = ファイルはまだそこにあります (ファイルの名前を確認できる必要があります) が、空です。ほら。それらをメモ帳で開くと、ファイルに "" しか表示されません。またはスペース。なんでもいい。要点は、ハード ドライブ全体を転送するのではなく、クライアント B に転送できるように iso のサイズを小さくすることです。この後、クライアント 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 に答える