Javaを使用してzipファイルを作成しています。したがって、私は小さな問題に直面していました。実行ファイル(* .shおよびバイナリファイル)は、彼のファイル権限で適切に圧縮されていません。plsはmakezipの次のコードを見つけます
public static void makeZip(String compressDirPath, String zipName, String outputLoc)
throws java.io.IOException
{
if(outputLoc.equals("") || outputLoc == null) outputLoc = ".";
File compressDir = new File(compressDirPath);
ZipOutputStream zos = new ZipOutputStream(new FileOutputStream(outputLoc+"/"+zipName));
compress(compressDir, compressDir, zos);
zos.close();
}
private static void compress(File compressDir, File base, ZipOutputStream zos) throws java.io.IOException
{
File[] files = compressDir.listFiles();
byte[] buffer = new byte[18024];
int read = 0;
for (int i = 0, n = files.length; i < n; i++) {
if (files[i].isDirectory()) {
compress(files[i], base, zos);
} else {
FileInputStream in = new FileInputStream(files[i]);
ZipEntry entry = new ZipEntry(files[i].getPath().substring(base.getPath().length() + 1));
zos.putNextEntry(entry);
while (-1 != (read = in.read(buffer))) { zos.write(buffer, 0, read); }
in.close();
}
}
}
zipファイルを解凍したら、通常のファイルで作成したファイルを実行します。どうすればこの問題を解決できますか?