1 26 27 package org.objectweb.openccm.packaging; 28 29 36 public class FileOperations 37 { 38 44 public static void 45 open_file( 46 java.io.File file, 47 org.objectweb.apollon.gui.ApollonFrame frame) 48 { 49 if (! file.exists() 50 || ! file.isFile() 51 ) 52 { 53 System.err.println("File : "+file.getName()+" : ignored"); 54 return; 55 } 56 57 if (file.getName().toLowerCase().endsWith("cad") 58 || file.getName().toLowerCase().endsWith("csd") 59 || file.getName().toLowerCase().endsWith("ccd") 60 || file.getName().toLowerCase().endsWith("cpf") 61 || file.getName().toLowerCase().endsWith("npd") 62 ) 63 { 64 frame.open_file(file); 65 } 66 if (file.getName().toLowerCase().endsWith("aar") 67 || file.getName().toLowerCase().endsWith("car") 68 || file.getName().toLowerCase().endsWith("zip") 69 ) 70 { 71 try 72 { 73 java.util.zip.ZipInputStream in 75 = new java.util.zip.ZipInputStream ( 76 new java.io.FileInputStream (file.getAbsolutePath()) 77 ); 78 java.util.zip.ZipEntry entry 80 = in.getNextEntry(); 81 while (in.available() == 1) 82 { 83 java.io.File file_entry 84 = new java.io.File (entry.getName()); 85 86 if (entry.isDirectory()) 87 { 88 file_entry.mkdir(); 89 } else { 90 if (entry.getName().indexOf("/")>-1) 91 { 92 java.io.File file_dir 93 = new java.io.File ( 94 entry.getName().substring( 95 0, 96 entry.getName().lastIndexOf("/") 97 ) 98 ); 99 file_dir.mkdir(); 100 } 101 java.io.OutputStream out 103 = new java.io.FileOutputStream (file_entry); 104 byte[] buf = new byte[1024]; 106 int len; 107 while ((len = in.read(buf)) > 0) { 108 out.write(buf, 0, len); 109 } 110 out.close(); 112 frame.open_file(new java.io.File (entry.getName())); 114 } 115 entry = in.getNextEntry(); 116 } 117 in.close(); 118 } catch (java.util.zip.ZipException exc) { 119 System.err.println("*** ZIP archive file corrupted ***"); 120 exc.printStackTrace(); 121 } catch (java.io.IOException exc) { 122 System.err.println("*** error during file opening ***"); 123 exc.printStackTrace(); 124 } 125 } 126 } 127 } | Popular Tags |