Java(JDK1.6)でのファイル圧縮について質問があります。
JDK1.6では圧縮の際、エンコードUTF-8でzip化するため、
日本語のファイル名に対応していないという問題がありますが、
ソース上で、エンコードUTF-8と指定しているところは、どこのJavaクラスの
何というメソッドでしょうか?
ソース上で、圧縮時、エンコードUTF-8と指定しているところを見つけ、
他エンコードに指定できないのか知りたいです。
Java
1 private void createZip(ZipOutputStream zos, File[] files) throws IOException { 2 byte[] buf = new byte[1024]; 3 InputStream is = null; 4 try { 5 for (File file : files) { 6 ZipEntry entry = new ZipEntry(file.getName()); 7 zos.putNextEntry(entry); 8 is = new BufferedInputStream(new FileInputStream(file)); 9 int len = 0; 10 while ((len = is.read(buf)) != -1) { 11 zos.write(buf, 0, len); 12 } 13 } 14 } finally { 15 is.close(); 16 } 17 }
自分としては、zos.putNextEntry(entry);の中で使用している、
ZipOutputStreamクラスのgetUTF8Bytesメソッドだろうと考えています。。
(UTF-8でエンコード済みのバイナリデータを取得??)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/19 05:32