2013-08-31 3 views
-2

Я создаю CSV-файл, и он создается в указанном loaction, теперь я хочу заархивировать этот файл в том же месте, , поэтому для этого мне было нужно сделать метод seprate который займет место, где будет храниться архивный файл и имя файла в качестве параметра, пожалуйста, посоветуйте, как сделать этот метод и есть логика сжать, я попробовал это ..zipping файл через Java

File file = new File(Path + s) //path contain the location of file and s contain the filename 
for (File f : new File(mcrpFilePath).listFiles()) { 

if (f.getName().endsWith(".csv")) { 
if (f.isFile() && file.getName().toLowerCase().endsWith(".csv")) { 
f.delete(); 
} 
} 
file.createNewFile(); 
FileOutputStream fileOutput = new FileOutputStream(file); 
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
fileOutput)); 
addContent(aalist, bblist, bw);// seprate method that is writing in csv file 
bw.close(); 
fileOutput.close(); 

// ???? Now here i want to call my zipp method seprately 

    zipafile(Path + s) //?? what will be logic inside this method to zip the file 
+0

чем проблема у вас возникли? –

+0

@MattClark pls советует логику, я застрял на этом, спасибо заранее –

+0

@SoniSahai Для достижения этой цели существуют прямые классы –

ответ

1

Существует ZipOutputStream, который принимает FileOutputStream экземпляр и предоставить вам формат файла Zip.

FileOutputStream fos = new FileOutputStream(zipFile); 
ZipOutputStream zos = new ZipOutputStream(fos); 

заказ Java.uti.Zip package

An Example