- - PR -
ファイルの分割転送方法について
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-10-08 16:30
ファイル転送において、大容量(100メガ以上)を送る場合に、ファイルの分割/結合処理をする仕組みをつくりたいのですが、
どのようにすればいいのしょうか? 例:100メガのzipファイルを、50/50に分け2回転送し、受け取った側が結合して元のzipをつくる。 どのような方法があるのかわからないのですが、考えているロジックは以下のようなものです。 #もっといいものがあるかもしれません 現状、転送の仕組みは用意してあり、 ------送り側 javax.activation.DataHandler dataHandler = null; javax.activation.FileDataSource datasource = null; datasource = new FileDataSource(ファイル名); dataHandler = new DataHandler(datasource); javax.mail.internet.MimeMultipart mimedata = new MimeMultipart(); javax.mail.internet.MimeBodyPart bodyPart = new MimeBodyPart(); bodyPart.setDataHandler(dataHandler); mimedata.addBodyPart(bodyPart); として、mimedataを送っています。 ------受け側 buffer = new byte[bufferSize]; FileOutputStream out = new FileOutputStream(出力ファイル名); InputStream in = bodyPart.getInputStream(); while((length = in.read(buffer)) > 0) { out.write(buffer, 0, length); } out.close(); として、受け取っています。 これに分割/結合をいれるとしたら、結合部分は while((length = in.read(buffer)) > 0) この後に続いて、くっつけるファイルを書き足していけばいいように思います。 ただ、それには送るときに1つのファイルを複数に分けたDataHandler(ないしはFileDataSource)を用意する必要があります。 このつくり方がわかりません。 つまり、1ファイルから複数のDataHandler(ないしはFileDataSource)のつくりかたが課題となっています。 どのようにすればいいでしょうか? |
1