Малеваный Александр
Дата: 30.11.2009 14:21:08
У меня такая задача: создать архив файла и положить его в определенную папку.
Это я вызиваю:
pck_zip.file_compress('\\\HO254\buffer\FileBasel\27.11.2009\'||aFileNameTmp,
'\\HO254\buffer\FileBasel\'||aFileNameTmp||'.zip');
aFileNameTmp - это название файла
это процедура Oracle:
procedure Zip_compress(pInFile varchar2,pOutFile varchar2)
as language java name 'ZipFile.compress(java.lang.String, java.lang.String)';
Это источник Java:
create or replace and compile java source named zipfile as
import java.lang.*;
import oracle.sql.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
import java.io.InputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
public class ZipFile
{
public static void compress(String InFile,String OutFile) throws Exception
{
String outFilename = OutFile;
String inFilename = InFile;
FileInputStream in = new FileInputStream(inFilename);
ZipOutputStream z = new ZipOutputStream(new FileOutputStream(outFilename));
ZipEntry ze = new ZipEntry(inFilename);
z.putNextEntry(ze);
byte[] buffer = new byte[1024];
int cnt;
while ((cnt = in.read(buffer)) > 0)
{
z.write(buffer, 0, cnt);
}
in.close();
z.close();
}
}
И в результате у меня почти все нормально, только есть одна не понятка:
у меня создаеться архив, но в самом архиве создаються еще папки "\HO254\buffer\FileBasel\27.11.2009", но они не нужны
(YRMCKURS.mD19.v3.t20091127.daily.zip\\\\HO254\buffer\FileBasel\27.11.2009 - ZIP архив, размер исходных файлов 175 байт)
Как можно исправить класс Java, что бы в архиве был только один файл без папок????
И еще один вопрос:
Как сделать архивацию не одного файла, а сразу нескольких одного формата???
Помогите пожалуйста??