2012-10-31 78 views
-2

我做了一個項目,通過將文件轉換爲zip文件來加密文件,然後向它添加一個字節數組。
添加後單擊文件時,它將返回「損壞的文件」。如何從java中的zip文件中刪除字節?

import java.io.BufferedWriter; 
import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.FileWriter; 

public class TestByteSyt { 
byte[] data; 
public void choos(String path){ 
try{ 
data=getBytesContent(path);}catch(Exception e){ 
    System.out.print("there is problem"); 
    } 
} 
    public byte[] getBytesContent(String path){ 
    byte[] filedata = null; 
    try{ 
     File file = new File(path); 
     filedata = new byte[(int)file.length()]; 
     FileInputStream input = new FileInputStream(file); 
     FileOutputStream output= new FileOutputStream(file); 
     //input.read(filedata); 
     String pass="the password is sobhi saede"; 
     byte[] b=pass.getBytes(); 
     System.out.print(b); 
     output.write(b); 
     input.close(); 
     output.close(); 
     // System.out.print(file.delete()); 
     BufferedWriter out = new BufferedWriter(new FileWriter(file)); 
     out.close(); 
     } catch (Exception e) 
    {System.out.print("no file ");} 
    return filedata; 
    }}  

如何從zip文件中刪除添加的字節使其重新工作?

+6

你的方法確實沒有「加密」的數據。它所做的只是以完全可逆的方式打破它。 *不*認爲這給你任何安全。另外,目前還不清楚爲什麼用'BufferedWriter'覆蓋原始文件... –

回答

2

如果你真的想要加密你的zip文件,請查看zip4j

+0

沒問題,但我試着讓extintion窗口不能讀取它以使新的滅絕 – user1780795