DROP JAVA SOURCE "ComprimirArchivo"; CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED "comprimirArchivo" as import java.util.zip.*; import java.io.*; public class ComprimirArchivo { public static String ComprimeArchivo(String infilename, String outfilename) { try { FileOutputStream fout = new FileOutputStream(outfilename); ZipOutputStream zout = new ZipOutputStream(fout); ZipEntry ze = new ZipEntry((new File(infilename)).getName()); try { FileInputStream fin = new FileInputStream(infilename); zout.putNextEntry(ze); copy(fin, zout); zout.closeEntry(); fin.close(); } catch (IOException ie) { System.out.println("IO Exception occurred: " + ie); return ie.toString(); } zout.close(); } catch(Exception e) { System.out.println("Exception occurred: " + e); return e.toString(); } return "OK"; } public static void copy(InputStream in, OutputStream out) throws IOException { byte[] buffer = new byte[4096]; while (true) { int bytesRead = in.read(buffer); if (bytesRead == -1) break; out.write(buffer, 0, bytesRead); } } } /
CREATE OR REPLACE PACKAGE ComprimirArchivo IS FUNCTION ComprimeArchivo (p_in_file IN VARCHAR2, p_out_file IN VARCHAR2) return varchar AS LANGUAGE JAVA NAME 'ComprimirArchivo.ComprimeArchivo(java.lang.String,java.lang.String) return String'; END; /