Hilf mir bitteWas genau sollte ich in diesem Code-Ausschnitt ändern, damit ich einen Pfad zu einer Sicherungsdatei festlegen kann?
Ich kann wirklich nicht verstehen, wie man diesen Codeausschnitt ändert, um die Fähigkeit zu haben, einen Pfad zum Speichern der Datei festzulegen.
Ich brauche eine Datei entpacken. Ich möchte die Methode 2 Argumente geben: der erste ist der Pfad zu der Zip-Datei und der zweite ist der Pfad, wo Sie die entpackte Datei speichern möchten. Das ist es ... Aber es macht mich verrückt))
Ich habe den Code
public class Decompress {
private String zipFile;
private String location;
private final String MY_LOG = "Decompress";
public Decompress(String zipFile, String location) {
this.zipFile = zipFile;
this.location = location;
dirChecker("");
}
public void unzip() {
try {
FileInputStream fin = new FileInputStream(zipFile);
ZipInputStream zis = new ZipInputStream(fin);
ZipEntry ze;
while ((ze = zis.getNextEntry()) != null) {
Log.e(MY_LOG, "Unzipping " + ze.getName());
if (ze.isDirectory()) {
dirChecker(ze.getName());
} else {
write(zis, new FileOutputStream(location + ze.getName()));
zis.closeEntry();
}
}
zis.close();
} catch (Exception e) {
Log.e(MY_LOG, "unzip", e);
}
}
private void write(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) >= 0) {
out.write(buffer, 0, len);
}
out.close();
}
private void dirChecker(String dir) {
File f = new File(location + dir);
if (!f.isDirectory()) {
f.mkdirs();
}
}
ich dies im Konstruktor gesetzt
zipFile = /storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDir/new.zip
und ich brauche diese new.zip
innerhalb des aktuellen entpacken Verzeichnis AvatarModelDir
. Nach diesem, habe ich ...
location = /storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDir
Und ich erwarte, dass der neue Pfad für unzip Dateien wie diese
/storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDir/MyUnzip/Anna.dae
sein wird, sondern schafft es dieses Verzeichnis
/storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDirAnna/Anna.dae
Warum es Anna
an AvatarModelDir
anfügte und warum es Dir auf Ebene [email protected]
statt AvatarModelDir
Ich brauche nur den Pfad zur zip
Datei und den Pfad festgelegt, wo ich es in bis (Extract Directory)
ich der eingestellte Pfad zum Beispiel
/storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDir
und es entpacken erwarten entpacken will sollte eine Default name dirictory
innerhalb AvatarModelDir
erstellen und
/storage/emulated/0/Android/data/com.example.android.camera2basic.demo/files/[email protected]/AvatarModelDir/DefaultNameDirectory/...
i gefolgt Sie vorschlagen, und Änderungen in 'dirChecker()' wie Sie gesagt haben und in Constructor, aber ich habe 'FileNotFoundException' in dieser Zeile' write (ZIS, neue Fileoutputstream (Standort + ze.getName ())) "Wie ist es möglich? Es gibt Dateien 100% –
Ich habe vergessen, die andere Änderung zu erwähnen ** write (zis, neuer FileOutputStream (location + "/" + ze.getName())) **; –
Ja! Wirklich Danke, ich verbringe viel Zeit zu versuchen, zu verstehen, wie es funktioniert ... Aber ich entferne "MyUnzip" aus dem Konstruktor, weil es 2 dir: 1 - MyUnzip (ohne etwas) und 2 - Anna (mit Dateien) erstellen. Ich entferne "MyUnzip" und alles ist in Ordnung. Ich habe einen solchen Pfad '/ Speicher/emuliert/0/Android/data/com.Beispiel.android.camera2basic.demo/files/ttt @ gmail.com/AvatarModelDir/Anna/'. –