안녕하세요 TrueZIP를 사용하여 파일을 압축 해제하려고하고 그렇게하는 동안 예외FsReadOnlyArchiveFilesystemException
de.schlichtherle.truezip.fs.archive.FsReadOnlyArchiveFileSystemException: This is a read-only archive file system!
그것은 일부 파일에 대한 작품과 다른 사람에 대한 예외를 throw를 얻을.
그래서 권한을 변경하고 쓰기 가능하게 만들려고했으나 작동하지 않습니다.
public void unzipFiles(TFile[] files){
try{
for(int i=0; i < files.length; i++){
System.out.println("Processing please wait ...");
if(files[i].isArchive()){
if(files[i].getName().endsWith(".zip")){
System.out.println(files[i].getName());
System.out.println("Is writable "+files[i].canWrite());
//change the file permission to be writable
if(files[i].canWrite() == false){
files[i].setWritable(true);
files[i].setExecutable(true);
System.out.println("After setting it writeable "+files[i].canWrite());
}
String filename = files[i].getName();
String pathToExtract = files[i].getParent() + "\\" + filename.substring(0, filename.lastIndexOf("."));
File createdirectory = new File(pathToExtract);
TFile directoryToExtract = new TFile(pathToExtract);
TFile.cp_rp(files[i], directoryToExtract, TArchiveDetector.NULL, TArchiveDetector.NULL);
System.out.println("Unzipping files ..");
TFile.rm_r(files[i]);
System.out.println("Deleting Zip file..");
numOfZips = numOfZips + 1;
unzipFiles(directoryToExtract.listFiles());
}
}else{
if(files[i].isDirectory()){
unzipFiles(files[i].listFiles());
}
}
}
}catch(Exception e){
e.printStackTrace();
}
수있는 사람의 도움을하시기 바랍니다 : 여기에
내 코드?감사합니다.