pull/171/head
FongMi 2 years ago
parent c3d363af14
commit ab2ec2f008
  1. 3
      app/src/main/java/com/fongmi/android/tv/server/process/Local.java
  2. 17
      app/src/main/java/com/fongmi/android/tv/utils/FileUtil.java
  3. 17
      catvod/src/main/java/com/github/catvod/utils/Path.java

@ -1,6 +1,7 @@
package com.fongmi.android.tv.server.process;
import com.fongmi.android.tv.server.Nano;
import com.fongmi.android.tv.utils.FileUtil;
import com.github.catvod.utils.Path;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
@ -54,7 +55,7 @@ public class Local implements Process {
for (String k : files.keySet()) {
String fn = params.get(k);
File temp = new File(files.get(k));
if (fn.toLowerCase().endsWith(".zip")) Path.unzip(temp, Path.root(path));
if (fn.toLowerCase().endsWith(".zip")) FileUtil.unzip(temp, Path.root(path));
else Path.copy(temp, Path.root(path, fn));
}
return Nano.success();

@ -14,6 +14,9 @@ import com.github.catvod.utils.Path;
import java.io.File;
import java.net.URLConnection;
import java.text.DecimalFormat;
import java.util.Enumeration;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
public class FileUtil {
@ -29,6 +32,20 @@ public class FileUtil {
App.get().startActivity(intent);
}
public static void unzip(File target, File path) {
try (ZipFile zip = new ZipFile(target.getAbsolutePath())) {
Enumeration<?> entries = zip.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
File out = new File(path, entry.getName());
if (entry.isDirectory()) out.mkdirs();
else Path.copy(zip.getInputStream(entry), out);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void clearCache(Callback callback) {
App.execute(() -> {
Path.clear(Path.cache());

@ -15,10 +15,7 @@ import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
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 Path {
@ -211,20 +208,6 @@ public class Path {
if (dir.delete()) Log.d(TAG, "Deleted:" + dir.getAbsolutePath());
}
public static void unzip(File target, File path) {
try (ZipFile zip = new ZipFile(target.getAbsolutePath())) {
Enumeration<?> entries = zip.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entries.nextElement();
File out = new File(path, entry.getName());
if (entry.isDirectory()) out.mkdirs();
else copy(zip.getInputStream(entry), out);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static File chmod(File file) {
try {
Process process = Runtime.getRuntime().exec("chmod 777 " + file);

Loading…
Cancel
Save