4 import java.io.BufferedInputStream;
5 import java.io.BufferedOutputStream;
7 import java.io.FileInputStream;
8 import java.io.FileOutputStream;
9 import java.io.IOException;
10 import java.util.logging.Level;
11 import java.util.logging.Logger;
12 import java.util.zip.InflaterInputStream;
14 public class Cws2Fws {
16 private static final String CWS = "CWS";
17 private static final String FWS = "FWS";
22 * @return 圧縮SWFであればtrue.
24 public static boolean isCws(File file) {
25 BufferedInputStream bis = null;
27 bis = new BufferedInputStream(new FileInputStream(file));
28 byte header[] = new byte[CWS.length()];
29 bis.read(header, 0, header.length);
30 if (CWS.equals(new String(header))) {
33 } catch (IOException ex) {
34 Logger.getLogger(Cws2Fws.class.getName()).log(Level.SEVERE, null, ex);
39 } catch (IOException ex) {
40 Logger.getLogger(Cws2Fws.class.getName()).log(Level.SEVERE, null, ex);
50 * @return 展開後のファイル. 対象が圧縮SWFでなければnull.
52 public static File createFws(File in, File out) {
56 BufferedInputStream bis = null;
57 BufferedOutputStream bos = null;
59 byte buffer[] = new byte[1024];
60 bis = new BufferedInputStream(new FileInputStream(in));
61 bis.read(buffer, 0, CWS.length()); // CWS
62 bis.read(buffer, 0, 5); // その他ヘッダ
64 bos = new BufferedOutputStream(new FileOutputStream(out));
65 bos.write(FWS.getBytes());
66 bos.write(buffer, 0, 5);
68 InflaterInputStream iis = new InflaterInputStream(bis);
70 int res = iis.read(buffer);
74 bos.write(buffer, 0, res);
77 } catch (IOException ex) {
78 Logger.getLogger(Cws2Fws.class.getName()).log(Level.SEVERE, null, ex);
83 } catch (IOException ex) {
84 Logger.getLogger(Cws2Fws.class.getName()).log(Level.SEVERE, null, ex);
90 } catch (IOException ex) {
91 Logger.getLogger(Cws2Fws.class.getName()).log(Level.SEVERE, null, ex);