diff --git a/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java b/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java index d62d1d8b..33a0b155 100644 --- a/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java +++ b/brut.apktool/apktool-lib/src/test/java/brut/androlib/TestUtils.java @@ -98,7 +98,11 @@ public abstract class TestUtils { URL dirURL = class_.getClassLoader().getResource(dirPath); if (dirURL != null && dirURL.getProtocol().equals("file")) { - DirUtil.copyToDir(new FileDirectory(dirURL.getFile()), out); + try { + DirUtil.copyToDir(new FileDirectory(dirURL.getFile()), out); + } catch (UnsupportedEncodingException ex) { + throw new BrutException(ex); + } return; } @@ -111,10 +115,10 @@ public abstract class TestUtils { String jarPath; try { jarPath = URLDecoder.decode(dirURL.getPath().substring(5, dirURL.getPath().indexOf("!")), "UTF-8"); + DirUtil.copyToDir(new FileDirectory(jarPath), out); } catch (UnsupportedEncodingException ex) { throw new BrutException(ex); } - DirUtil.copyToDir(new FileDirectory(jarPath), out); } } diff --git a/brut.j.dir/src/main/java/brut/directory/FileDirectory.java b/brut.j.dir/src/main/java/brut/directory/FileDirectory.java index 6640f760..ae911408 100644 --- a/brut.j.dir/src/main/java/brut/directory/FileDirectory.java +++ b/brut.j.dir/src/main/java/brut/directory/FileDirectory.java @@ -16,29 +16,20 @@ package brut.directory; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.InputStream; -import java.io.OutputStream; -import java.nio.file.Paths; +import java.io.*; +import java.net.URLDecoder; import java.util.LinkedHashMap; import java.util.LinkedHashSet; public class FileDirectory extends AbstractDirectory { private File mDir; - public FileDirectory(String dir) throws DirectoryException { - this(Paths.get(dir).toFile()); + public FileDirectory(ExtFile dir, String folder) throws DirectoryException, UnsupportedEncodingException { + this(new File(dir.toString().replaceAll("%20", " "), folder)); } - public FileDirectory(ExtFile dir, String folder) throws DirectoryException { - this(dir.toString(), folder); - } - - public FileDirectory(String dir, String folder) throws DirectoryException { - this(Paths.get(dir, folder).toFile()); + public FileDirectory(String dir) throws DirectoryException, UnsupportedEncodingException { + this(new File(URLDecoder.decode(dir, "UTF-8"))); } public FileDirectory(File dir) throws DirectoryException {