Нужна помощь с Java

Малеваный Александр
Дата: 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, что бы в архиве был только один файл без папок????
И еще один вопрос:
Как сделать архивацию не одного файла, а сразу нескольких одного формата???
Помогите пожалуйста??
Wladislaw
Дата: 30.11.2009 15:40:38
Сдесь
ZipEntry ze = new ZipEntry(inFilename);
укажите только имя файла, а не весь путь.
Малеваный Александр
Дата: 30.11.2009 15:41:18
ага, а как архивить не один файл а несколько?
Малеваный Александр
Дата: 30.11.2009 15:49:59
как задать типа такого:
pck_zip.file_compress('\\HO254\buffer\FileBasel\27.11.2009\*.daily','\\HO254\buffer\FileBasel\27.11.2009\ARCH\'||aFileNameTmp||'.zip');
Wladislaw
Дата: 30.11.2009 17:45:39
Малеваный Александр,
вот ссылка с примерами, как прочитать список файлов в директории и заархивировать. Надеюсь разберётесь.