Fix zip upload

pull/137/head
FongMi 3 years ago
parent fb383fade9
commit 9aeac15069
  1. 2
      app/build.gradle
  2. 21
      app/src/main/java/com/fongmi/android/tv/utils/FileUtil.java

@ -111,6 +111,7 @@ dependencies {
implementation 'com.github.bumptech.glide:glide:4.15.1'
implementation 'com.github.bumptech.glide:annotations:4.15.1'
implementation 'com.github.bumptech.glide:okhttp3-integration:4.15.1'
implementation 'com.github.TeamNewPipe:NewPipeExtractor:8495ad619e'
implementation('com.github.thegrizzlylabs:sardine-android:0.8') { exclude group: 'com.squareup.okhttp3', module: 'okhttp' }
implementation 'com.google.android.material:material:1.9.0'
implementation 'com.google.code.gson:gson:' + gsonVersion
@ -120,7 +121,6 @@ dependencies {
implementation 'com.hierynomus:smbj:0.11.5'
implementation 'com.squareup.okhttp3:okhttp:' + okhttpVersion
implementation 'com.squareup.okhttp3:okhttp-dnsoverhttps:' + okhttpVersion
implementation 'org.apache.commons:commons-compress:1.20'
implementation 'org.chromium.net:cronet-embedded:101.4951.41'
implementation 'org.greenrobot:eventbus:3.3.1'
implementation 'org.jsoup:jsoup:' + jsoupVersion

@ -13,11 +13,8 @@ import androidx.core.content.FileProvider;
import com.fongmi.android.tv.App;
import com.fongmi.android.tv.impl.Callback;
import org.apache.commons.compress.archivers.zip.ZipArchiveEntry;
import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
import org.apache.commons.compress.utils.IOUtils;
import org.chromium.base.FileUtils;
import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@ -30,7 +27,10 @@ import java.security.MessageDigest;
import java.text.DecimalFormat;
import java.util.Arrays;
import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class FileUtil {
@ -120,12 +120,13 @@ public class FileUtil {
}
public static void unzip(File target, String path) {
try (ZipArchiveInputStream in = new ZipArchiveInputStream(new BufferedInputStream(new FileInputStream(target)))) {
ZipArchiveEntry entry;
while ((entry = in.getNextZipEntry()) != null) {
try (ZipFile zip = new ZipFile(target.getAbsolutePath())) {
Enumeration<?> entries = (Enumeration<?>) zip.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
File out = new File(path, entry.getName());
if (entry.isDirectory()) out.mkdirs();
else copy(in, out);
else copy(zip.getInputStream(entry), out);
}
} catch (Exception ignored) {
}
@ -133,14 +134,14 @@ public class FileUtil {
public static void copy(File in, File out) {
try {
IOUtils.copy(new FileInputStream(in), new FileOutputStream(out));
FileUtils.copyStream(new FileInputStream(in), new FileOutputStream(out));
} catch (Exception ignored) {
}
}
public static void copy(InputStream in, File out) {
try {
IOUtils.copy(in, new FileOutputStream(out));
FileUtils.copyStream(in, new FileOutputStream(out));
} catch (Exception ignored) {
}
}

Loading…
Cancel
Save