Path: blob/master/Compiled_apk/smali/org/apache/commons/io/FileUtils.smali
3980 views
.class public Lorg/apache/commons/io/FileUtils;
.super Ljava/lang/Object;
.source "FileUtils.java"
# static fields
.field public static final EMPTY_FILE_ARRAY:[Ljava/io/File;
.field private static final FIFTY_MB:J = 0x3200000L
.field public static final ONE_GB:J = 0x40000000L
.field public static final ONE_KB:J = 0x400L
.field public static final ONE_MB:J = 0x100000L
.field private static final UTF8:Ljava/nio/charset/Charset;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 116
const/4 v0, 0x0
new-array v0, v0, [Ljava/io/File;
sput-object v0, Lorg/apache/commons/io/FileUtils;->EMPTY_FILE_ARRAY:[Ljava/io/File;
.line 121
const-string v0, "UTF-8"
invoke-static {v0}, Ljava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
move-result-object v0
sput-object v0, Lorg/apache/commons/io/FileUtils;->UTF8:Ljava/nio/charset/Charset;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 90
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 91
return-void
.end method
.method public static byteCountToDisplaySize(J)Ljava/lang/String;
.locals 7
.param p0, "size" # J
.line 258
const-wide/32 v0, 0x40000000
div-long v2, p0, v0
const-wide/16 v4, 0x0
cmp-long v6, v2, v4
if-lez v6, :cond_0
.line 259
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
div-long v0, p0, v0
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " GB"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.local v0, "displaySize":Ljava/lang/String;
goto :goto_0
.line 260
.end local v0 # "displaySize":Ljava/lang/String;
:cond_0
const-wide/32 v0, 0x100000
div-long v2, p0, v0
cmp-long v6, v2, v4
if-lez v6, :cond_1
.line 261
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
div-long v0, p0, v0
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " MB"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.restart local v0 # "displaySize":Ljava/lang/String;
goto :goto_0
.line 262
.end local v0 # "displaySize":Ljava/lang/String;
:cond_1
const-wide/16 v0, 0x400
div-long v2, p0, v0
cmp-long v6, v2, v4
if-lez v6, :cond_2
.line 263
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
div-long v0, p0, v0
invoke-static {v0, v1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " KB"
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.restart local v0 # "displaySize":Ljava/lang/String;
goto :goto_0
.line 265
.end local v0 # "displaySize":Ljava/lang/String;
:cond_2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-static {p0, p1}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " bytes"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 267
.restart local v0 # "displaySize":Ljava/lang/String;
:goto_0
return-object v0
.end method
.method public static checksum(Ljava/io/File;Ljava/util/zip/Checksum;)Ljava/util/zip/Checksum;
.locals 3
.param p0, "file" # Ljava/io/File;
.param p1, "checksum" # Ljava/util/zip/Checksum;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1988
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_0
.line 1991
const/4 v0, 0x0
.line 1993
.local v0, "in":Ljava/io/InputStream;
:try_start_0
new-instance v1, Ljava/util/zip/CheckedInputStream;
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
invoke-direct {v1, v2, p1}, Ljava/util/zip/CheckedInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V
move-object v0, v1
.line 1994
new-instance v1, Lorg/apache/commons/io/output/NullOutputStream;
invoke-direct {v1}, Lorg/apache/commons/io/output/NullOutputStream;-><init>()V
invoke-static {v0, v1}, Lorg/apache/commons/io/IOUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1996
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 1997
nop
.line 1998
return-object p1
.line 1996
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v1
.line 1989
.end local v0 # "in":Ljava/io/InputStream;
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Checksums can\'t be computed on directories"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static checksumCRC32(Ljava/io/File;)J
.locals 3
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1965
new-instance v0, Ljava/util/zip/CRC32;
invoke-direct {v0}, Ljava/util/zip/CRC32;-><init>()V
.line 1966
.local v0, "crc":Ljava/util/zip/CRC32;
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->checksum(Ljava/io/File;Ljava/util/zip/Checksum;)Ljava/util/zip/Checksum;
.line 1967
invoke-virtual {v0}, Ljava/util/zip/CRC32;->getValue()J
move-result-wide v1
return-wide v1
.end method
.method public static cleanDirectory(Ljava/io/File;)V
.locals 7
.param p0, "directory" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1250
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_4
.line 1255
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_3
.line 1260
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
.line 1261
.local v0, "files":[Ljava/io/File;
if-eqz v0, :cond_2
.line 1265
const/4 v1, 0x0
.line 1266
.local v1, "exception":Ljava/io/IOException;
move-object v2, v0
.local v2, "arr$":[Ljava/io/File;
array-length v3, v2
.local v3, "len$":I
const/4 v4, 0x0
.local v4, "i$":I
:goto_0
if-ge v4, v3, :cond_0
aget-object v5, v2, v4
.line 1268
.local v5, "file":Ljava/io/File;
:try_start_0
invoke-static {v5}, Lorg/apache/commons/io/FileUtils;->forceDelete(Ljava/io/File;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 1271
goto :goto_1
.line 1269
:catch_0
move-exception v6
.line 1270
.local v6, "ioe":Ljava/io/IOException;
move-object v1, v6
.line 1266
.end local v5 # "file":Ljava/io/File;
.end local v6 # "ioe":Ljava/io/IOException;
:goto_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 1274
.end local v2 # "arr$":[Ljava/io/File;
.end local v3 # "len$":I
.end local v4 # "i$":I
:cond_0
if-nez v1, :cond_1
.line 1277
return-void
.line 1275
:cond_1
throw v1
.line 1262
.end local v1 # "exception":Ljava/io/IOException;
:cond_2
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to list contents of "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1256
.end local v0 # "files":[Ljava/io/File;
:cond_3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " is not a directory"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1257
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 1251
.end local v0 # "message":Ljava/lang/String;
:cond_4
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " does not exist"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1252
.restart local v0 # "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_3
:goto_2
throw v1
:goto_3
goto :goto_2
.end method
.method private static cleanDirectoryOnExit(Ljava/io/File;)V
.locals 7
.param p0, "directory" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1690
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_4
.line 1695
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_3
.line 1700
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
.line 1701
.local v0, "files":[Ljava/io/File;
if-eqz v0, :cond_2
.line 1705
const/4 v1, 0x0
.line 1706
.local v1, "exception":Ljava/io/IOException;
move-object v2, v0
.local v2, "arr$":[Ljava/io/File;
array-length v3, v2
.local v3, "len$":I
const/4 v4, 0x0
.local v4, "i$":I
:goto_0
if-ge v4, v3, :cond_0
aget-object v5, v2, v4
.line 1708
.local v5, "file":Ljava/io/File;
:try_start_0
invoke-static {v5}, Lorg/apache/commons/io/FileUtils;->forceDeleteOnExit(Ljava/io/File;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.line 1711
goto :goto_1
.line 1709
:catch_0
move-exception v6
.line 1710
.local v6, "ioe":Ljava/io/IOException;
move-object v1, v6
.line 1706
.end local v5 # "file":Ljava/io/File;
.end local v6 # "ioe":Ljava/io/IOException;
:goto_1
add-int/lit8 v4, v4, 0x1
goto :goto_0
.line 1714
.end local v2 # "arr$":[Ljava/io/File;
.end local v3 # "len$":I
.end local v4 # "i$":I
:cond_0
if-nez v1, :cond_1
.line 1717
return-void
.line 1715
:cond_1
throw v1
.line 1702
.end local v1 # "exception":Ljava/io/IOException;
:cond_2
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to list contents of "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1696
.end local v0 # "files":[Ljava/io/File;
:cond_3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " is not a directory"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1697
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 1691
.end local v0 # "message":Ljava/lang/String;
:cond_4
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " does not exist"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1692
.restart local v0 # "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_3
:goto_2
throw v1
:goto_3
goto :goto_2
.end method
.method public static contentEquals(Ljava/io/File;Ljava/io/File;)Z
.locals 8
.param p0, "file1" # Ljava/io/File;
.param p1, "file2" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 481
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
.line 482
.local v0, "file1Exists":Z
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v1
const/4 v2, 0x0
if-eq v0, v1, :cond_0
.line 483
return v2
.line 486
:cond_0
const/4 v1, 0x1
if-nez v0, :cond_1
.line 488
return v1
.line 491
:cond_1
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v3
if-nez v3, :cond_4
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v3
if-nez v3, :cond_4
.line 496
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v3
invoke-virtual {p1}, Ljava/io/File;->length()J
move-result-wide v5
cmp-long v7, v3, v5
if-eqz v7, :cond_2
.line 498
return v2
.line 501
:cond_2
invoke-virtual {p0}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v2
invoke-virtual {p1}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_3
.line 503
return v1
.line 506
:cond_3
const/4 v1, 0x0
.line 507
.local v1, "input1":Ljava/io/InputStream;
const/4 v2, 0x0
.line 509
.local v2, "input2":Ljava/io/InputStream;
:try_start_0
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
move-object v1, v3
.line 510
new-instance v3, Ljava/io/FileInputStream;
invoke-direct {v3, p1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
move-object v2, v3
.line 511
invoke-static {v1, v2}, Lorg/apache/commons/io/IOUtils;->contentEquals(Ljava/io/InputStream;Ljava/io/InputStream;)Z
move-result v3
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 514
invoke-static {v1}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 515
invoke-static {v2}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
return v3
.line 514
:catchall_0
move-exception v3
invoke-static {v1}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 515
invoke-static {v2}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v3
.line 493
.end local v1 # "input1":Ljava/io/InputStream;
.end local v2 # "input2":Ljava/io/InputStream;
:cond_4
new-instance v1, Ljava/io/IOException;
const-string v2, "Can\'t compare directories, only files"
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public static convertFileCollectionToFileArray(Ljava/util/Collection;)[Ljava/io/File;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/io/File;",
">;)[",
"Ljava/io/File;"
}
.end annotation
.line 304
.local p0, "files":Ljava/util/Collection;, "Ljava/util/Collection<Ljava/io/File;>;"
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v0
new-array v0, v0, [Ljava/io/File;
invoke-interface {p0, v0}, Ljava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v0
check-cast v0, [Ljava/io/File;
return-object v0
.end method
.method public static copyDirectory(Ljava/io/File;Ljava/io/File;)V
.locals 1
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 896
const/4 v0, 0x1
invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FileUtils;->copyDirectory(Ljava/io/File;Ljava/io/File;Z)V
.line 897
return-void
.end method
.method public static copyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;)V
.locals 1
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "filter" # Ljava/io/FileFilter;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 976
const/4 v0, 0x1
invoke-static {p0, p1, p2, v0}, Lorg/apache/commons/io/FileUtils;->copyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;Z)V
.line 977
return-void
.end method
.method public static copyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;Z)V
.locals 8
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "filter" # Ljava/io/FileFilter;
.param p3, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1027
if-eqz p0, :cond_6
.line 1030
if-eqz p1, :cond_5
.line 1033
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "Source \'"
if-eqz v0, :cond_4
.line 1036
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_3
.line 1039
invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_2
.line 1044
const/4 v0, 0x0
.line 1045
.local v0, "exclusionList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
invoke-virtual {p1}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v1
invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1
.line 1046
if-nez p2, :cond_0
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v1
goto :goto_0
:cond_0
invoke-virtual {p0, p2}, Ljava/io/File;->listFiles(Ljava/io/FileFilter;)[Ljava/io/File;
move-result-object v1
.line 1047
.local v1, "srcFiles":[Ljava/io/File;
:goto_0
if-eqz v1, :cond_1
array-length v2, v1
if-lez v2, :cond_1
.line 1048
new-instance v2, Ljava/util/ArrayList;
array-length v3, v1
invoke-direct {v2, v3}, Ljava/util/ArrayList;-><init>(I)V
move-object v0, v2
.line 1049
move-object v2, v1
.local v2, "arr$":[Ljava/io/File;
array-length v3, v2
.local v3, "len$":I
const/4 v4, 0x0
.local v4, "i$":I
:goto_1
if-ge v4, v3, :cond_1
aget-object v5, v2, v4
.line 1050
.local v5, "srcFile":Ljava/io/File;
new-instance v6, Ljava/io/File;
invoke-virtual {v5}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v7
invoke-direct {v6, p1, v7}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 1051
.local v6, "copiedFile":Ljava/io/File;
invoke-virtual {v6}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v7
invoke-interface {v0, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 1049
.end local v5 # "srcFile":Ljava/io/File;
.end local v6 # "copiedFile":Ljava/io/File;
add-int/lit8 v4, v4, 0x1
goto :goto_1
.line 1055
.end local v1 # "srcFiles":[Ljava/io/File;
.end local v2 # "arr$":[Ljava/io/File;
.end local v3 # "len$":I
.end local v4 # "i$":I
:cond_1
invoke-static {p0, p1, p2, p3, v0}, Lorg/apache/commons/io/FileUtils;->doCopyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;ZLjava/util/List;)V
.line 1056
return-void
.line 1040
.end local v0 # "exclusionList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
:cond_2
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' and destination \'"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' are the same"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 1037
:cond_3
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' exists but is not a directory"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 1034
:cond_4
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' does not exist"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 1031
:cond_5
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 1028
:cond_6
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
goto :goto_3
:goto_2
throw v0
:goto_3
goto :goto_2
.end method
.method public static copyDirectory(Ljava/io/File;Ljava/io/File;Z)V
.locals 1
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 927
const/4 v0, 0x0
invoke-static {p0, p1, v0, p2}, Lorg/apache/commons/io/FileUtils;->copyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;Z)V
.line 928
return-void
.end method
.method public static copyDirectoryToDirectory(Ljava/io/File;Ljava/io/File;)V
.locals 4
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 856
if-eqz p0, :cond_5
.line 859
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "\' is not a directory"
if-eqz v0, :cond_1
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 860
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Source \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 862
:cond_1
:goto_0
if-eqz p1, :cond_4
.line 865
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_3
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_2
goto :goto_1
.line 866
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Destination \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 868
:cond_3
:goto_1
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, p1, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
const/4 v1, 0x1
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->copyDirectory(Ljava/io/File;Ljava/io/File;Z)V
.line 869
return-void
.line 863
:cond_4
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 857
:cond_5
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static copyFile(Ljava/io/File;Ljava/io/File;)V
.locals 1
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destFile" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 731
const/4 v0, 0x1
invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;Z)V
.line 732
return-void
.end method
.method public static copyFile(Ljava/io/File;Ljava/io/File;Z)V
.locals 3
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destFile" # Ljava/io/File;
.param p2, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 760
if-eqz p0, :cond_8
.line 763
if-eqz p1, :cond_7
.line 766
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "Source \'"
if-eqz v0, :cond_6
.line 769
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_5
.line 772
invoke-virtual {p0}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-nez v0, :cond_4
.line 775
invoke-virtual {p1}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v0
const-string v1, "Destination \'"
if-eqz v0, :cond_1
invoke-virtual {p1}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_1
.line 776
invoke-virtual {p1}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 777
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' directory cannot be created"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 780
:cond_1
:goto_0
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_3
invoke-virtual {p1}, Ljava/io/File;->canWrite()Z
move-result v0
if-eqz v0, :cond_2
goto :goto_1
.line 781
:cond_2
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' exists but is read-only"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 783
:cond_3
:goto_1
invoke-static {p0, p1, p2}, Lorg/apache/commons/io/FileUtils;->doCopyFile(Ljava/io/File;Ljava/io/File;Z)V
.line 784
return-void
.line 773
:cond_4
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' and destination \'"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' are the same"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 770
:cond_5
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' exists but is a directory"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 767
:cond_6
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' does not exist"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 764
:cond_7
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 761
:cond_8
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static copyFileToDirectory(Ljava/io/File;Ljava/io/File;)V
.locals 1
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 670
const/4 v0, 0x1
invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FileUtils;->copyFileToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.line 671
return-void
.end method
.method public static copyFileToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.locals 3
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 699
if-eqz p1, :cond_2
.line 702
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 703
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' is not a directory"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 705
:cond_1
:goto_0
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, p1, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 706
.local v0, "destFile":Ljava/io/File;
invoke-static {p0, v0, p2}, Lorg/apache/commons/io/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;Z)V
.line 707
return-void
.line 700
.end local v0 # "destFile":Ljava/io/File;
:cond_2
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)V
.locals 2
.param p0, "source" # Ljava/io/InputStream;
.param p1, "destination" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1176
:try_start_0
invoke-static {p1}, Lorg/apache/commons/io/FileUtils;->openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
move-result-object v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_1
.line 1178
.local v0, "output":Ljava/io/FileOutputStream;
:try_start_1
invoke-static {p0, v0}, Lorg/apache/commons/io/IOUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 1180
:try_start_2
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_1
.line 1181
nop
.line 1183
.end local v0 # "output":Ljava/io/FileOutputStream;
invoke-static {p0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 1184
nop
.line 1185
return-void
.line 1180
.restart local v0 # "output":Ljava/io/FileOutputStream;
:catchall_0
move-exception v1
:try_start_3
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.end local p0 # "source":Ljava/io/InputStream;
.end local p1 # "destination":Ljava/io/File;
throw v1
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
.line 1183
.end local v0 # "output":Ljava/io/FileOutputStream;
.restart local p0 # "source":Ljava/io/InputStream;
.restart local p1 # "destination":Ljava/io/File;
:catchall_1
move-exception v0
invoke-static {p0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v0
.end method
.method public static copyURLToFile(Ljava/net/URL;Ljava/io/File;)V
.locals 1
.param p0, "source" # Ljava/net/URL;
.param p1, "destination" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1126
invoke-virtual {p0}, Ljava/net/URL;->openStream()Ljava/io/InputStream;
move-result-object v0
.line 1127
.local v0, "input":Ljava/io/InputStream;
invoke-static {v0, p1}, Lorg/apache/commons/io/FileUtils;->copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)V
.line 1128
return-void
.end method
.method public static copyURLToFile(Ljava/net/URL;Ljava/io/File;II)V
.locals 2
.param p0, "source" # Ljava/net/URL;
.param p1, "destination" # Ljava/io/File;
.param p2, "connectionTimeout" # I
.param p3, "readTimeout" # I
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1152
invoke-virtual {p0}, Ljava/net/URL;->openConnection()Ljava/net/URLConnection;
move-result-object v0
.line 1153
.local v0, "connection":Ljava/net/URLConnection;
invoke-virtual {v0, p2}, Ljava/net/URLConnection;->setConnectTimeout(I)V
.line 1154
invoke-virtual {v0, p3}, Ljava/net/URLConnection;->setReadTimeout(I)V
.line 1155
invoke-virtual {v0}, Ljava/net/URLConnection;->getInputStream()Ljava/io/InputStream;
move-result-object v1
.line 1156
.local v1, "input":Ljava/io/InputStream;
invoke-static {v1, p1}, Lorg/apache/commons/io/FileUtils;->copyInputStreamToFile(Ljava/io/InputStream;Ljava/io/File;)V
.line 1157
return-void
.end method
.method static decodeUrl(Ljava/lang/String;)Ljava/lang/String;
.locals 8
.param p0, "url" # Ljava/lang/String;
.line 559
move-object v0, p0
.line 560
.local v0, "decoded":Ljava/lang/String;
if-eqz p0, :cond_6
const/16 v1, 0x25
invoke-virtual {p0, v1}, Ljava/lang/String;->indexOf(I)I
move-result v2
if-ltz v2, :cond_6
.line 561
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v2
.line 562
.local v2, "n":I
new-instance v3, Ljava/lang/StringBuffer;
invoke-direct {v3}, Ljava/lang/StringBuffer;-><init>()V
.line 563
.local v3, "buffer":Ljava/lang/StringBuffer;
invoke-static {v2}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v4
.line 564
.local v4, "bytes":Ljava/nio/ByteBuffer;
const/4 v5, 0x0
.local v5, "i":I
:cond_0
:goto_0
if-ge v5, v2, :cond_5
.line 565
invoke-virtual {p0, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
if-ne v6, v1, :cond_4
.line 568
:cond_1
add-int/lit8 v6, v5, 0x1
add-int/lit8 v7, v5, 0x3
:try_start_0
invoke-virtual {p0, v6, v7}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v6
const/16 v7, 0x10
invoke-static {v6, v7}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;I)I
move-result v6
int-to-byte v6, v6
.line 569
.local v6, "octet":B
invoke-virtual {v4, v6}, Ljava/nio/ByteBuffer;->put(B)Ljava/nio/ByteBuffer;
.line 570
nop
.end local v6 # "octet":B
add-int/lit8 v5, v5, 0x3
.line 571
if-ge v5, v2, :cond_2
invoke-virtual {p0, v5}, Ljava/lang/String;->charAt(I)C
move-result v6
:try_end_0
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eq v6, v1, :cond_1
.line 577
:cond_2
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->position()I
move-result v6
if-lez v6, :cond_0
.line 578
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
.line 579
sget-object v6, Lorg/apache/commons/io/FileUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v6, v4}, Ljava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
move-result-object v6
invoke-virtual {v6}, Ljava/nio/CharBuffer;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 580
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
goto :goto_0
.line 577
:catchall_0
move-exception v1
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->position()I
move-result v6
if-lez v6, :cond_3
.line 578
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
.line 579
sget-object v6, Lorg/apache/commons/io/FileUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v6, v4}, Ljava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
move-result-object v6
invoke-virtual {v6}, Ljava/nio/CharBuffer;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 580
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
:cond_3
throw v1
.line 573
:catch_0
move-exception v6
.line 577
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->position()I
move-result v6
if-lez v6, :cond_4
.line 578
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
.line 579
sget-object v6, Lorg/apache/commons/io/FileUtils;->UTF8:Ljava/nio/charset/Charset;
invoke-virtual {v6, v4}, Ljava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
move-result-object v6
invoke-virtual {v6}, Ljava/nio/CharBuffer;->toString()Ljava/lang/String;
move-result-object v6
invoke-virtual {v3, v6}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 580
invoke-virtual {v4}, Ljava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
.line 584
:cond_4
add-int/lit8 v6, v5, 0x1
.end local v5 # "i":I
.local v6, "i":I
invoke-virtual {p0, v5}, Ljava/lang/String;->charAt(I)C
move-result v5
invoke-virtual {v3, v5}, Ljava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
move v5, v6
goto :goto_0
.line 586
.end local v6 # "i":I
:cond_5
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
.line 588
.end local v2 # "n":I
.end local v3 # "buffer":Ljava/lang/StringBuffer;
.end local v4 # "bytes":Ljava/nio/ByteBuffer;
:cond_6
return-object v0
.end method
.method public static deleteDirectory(Ljava/io/File;)V
.locals 2
.param p0, "directory" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1195
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
.line 1196
return-void
.line 1199
:cond_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->isSymlink(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_1
.line 1200
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->cleanDirectory(Ljava/io/File;)V
.line 1203
:cond_1
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v0
if-eqz v0, :cond_2
.line 1208
return-void
.line 1204
:cond_2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unable to delete directory "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1206
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private static deleteDirectoryOnExit(Ljava/io/File;)V
.locals 1
.param p0, "directory" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1672
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
.line 1673
return-void
.line 1676
:cond_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->isSymlink(Ljava/io/File;)Z
move-result v0
if-nez v0, :cond_1
.line 1677
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->cleanDirectoryOnExit(Ljava/io/File;)V
.line 1679
:cond_1
invoke-virtual {p0}, Ljava/io/File;->deleteOnExit()V
.line 1680
return-void
.end method
.method public static deleteQuietly(Ljava/io/File;)Z
.locals 2
.param p0, "file" # Ljava/io/File;
.line 1226
const/4 v0, 0x0
if-nez p0, :cond_0
.line 1227
return v0
.line 1230
:cond_0
:try_start_0
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v1
if-eqz v1, :cond_1
.line 1231
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->cleanDirectory(Ljava/io/File;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 1234
:cond_1
goto :goto_0
.line 1233
:catch_0
move-exception v1
.line 1237
:goto_0
:try_start_1
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v0
:try_end_1
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1
return v0
.line 1238
:catch_1
move-exception v1
.line 1239
.local v1, "ignored":Ljava/lang/Exception;
return v0
.end method
.method private static doCopyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;ZLjava/util/List;)V
.locals 7
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "filter" # Ljava/io/FileFilter;
.param p3, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/io/File;",
"Ljava/io/FileFilter;",
"Z",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1072
.local p4, "exclusionList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/String;>;"
if-nez p2, :cond_0
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v0
goto :goto_0
:cond_0
invoke-virtual {p0, p2}, Ljava/io/File;->listFiles(Ljava/io/FileFilter;)[Ljava/io/File;
move-result-object v0
.line 1073
.local v0, "files":[Ljava/io/File;
:goto_0
if-eqz v0, :cond_a
.line 1076
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v1
const-string v2, "Destination \'"
if-eqz v1, :cond_2
.line 1077
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v1
if-eqz v1, :cond_1
goto :goto_1
.line 1078
:cond_1
new-instance v1, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' exists but is not a directory"
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1081
:cond_2
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
move-result v1
if-eqz v1, :cond_9
.line 1085
:goto_1
invoke-virtual {p1}, Ljava/io/File;->canWrite()Z
move-result v1
if-eqz v1, :cond_8
.line 1088
move-object v1, v0
.local v1, "arr$":[Ljava/io/File;
array-length v2, v1
.local v2, "len$":I
const/4 v3, 0x0
.local v3, "i$":I
:goto_2
if-ge v3, v2, :cond_6
aget-object v4, v1, v3
.line 1089
.local v4, "file":Ljava/io/File;
new-instance v5, Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v6
invoke-direct {v5, p1, v6}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
.line 1090
.local v5, "copiedFile":Ljava/io/File;
if-eqz p4, :cond_3
invoke-virtual {v4}, Ljava/io/File;->getCanonicalPath()Ljava/lang/String;
move-result-object v6
invoke-interface {p4, v6}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v6
if-nez v6, :cond_5
.line 1091
:cond_3
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v6
if-eqz v6, :cond_4
.line 1092
invoke-static {v4, v5, p2, p3, p4}, Lorg/apache/commons/io/FileUtils;->doCopyDirectory(Ljava/io/File;Ljava/io/File;Ljava/io/FileFilter;ZLjava/util/List;)V
goto :goto_3
.line 1094
:cond_4
invoke-static {v4, v5, p3}, Lorg/apache/commons/io/FileUtils;->doCopyFile(Ljava/io/File;Ljava/io/File;Z)V
.line 1088
.end local v4 # "file":Ljava/io/File;
.end local v5 # "copiedFile":Ljava/io/File;
:cond_5
:goto_3
add-int/lit8 v3, v3, 0x1
goto :goto_2
.line 1100
.end local v1 # "arr$":[Ljava/io/File;
.end local v2 # "len$":I
.end local v3 # "i$":I
:cond_6
if-eqz p3, :cond_7
.line 1101
invoke-virtual {p0}, Ljava/io/File;->lastModified()J
move-result-wide v1
invoke-virtual {p1, v1, v2}, Ljava/io/File;->setLastModified(J)Z
.line 1103
:cond_7
return-void
.line 1086
:cond_8
new-instance v1, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' cannot be written to"
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1082
:cond_9
new-instance v1, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' directory cannot be created"
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1074
:cond_a
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to list contents of "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
goto :goto_5
:goto_4
throw v1
:goto_5
goto :goto_4
.end method
.method private static doCopyFile(Ljava/io/File;Ljava/io/File;Z)V
.locals 17
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destFile" # Ljava/io/File;
.param p2, "preserveFileDate" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 795
move-object/from16 v1, p0
move-object/from16 v2, p1
invoke-virtual/range {p1 .. p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
invoke-virtual/range {p1 .. p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 796
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
const-string v4, "Destination \'"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v4, "\' exists but is a directory"
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-direct {v0, v3}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 799
:cond_1
:goto_0
const/4 v3, 0x0
.line 800
.local v3, "fis":Ljava/io/FileInputStream;
const/4 v4, 0x0
.line 801
.local v4, "fos":Ljava/io/FileOutputStream;
const/4 v5, 0x0
.line 802
.local v5, "input":Ljava/nio/channels/FileChannel;
const/4 v6, 0x0
.line 804
.local v6, "output":Ljava/nio/channels/FileChannel;
:try_start_0
new-instance v0, Ljava/io/FileInputStream;
invoke-direct {v0, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
move-object v3, v0
.line 805
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, v2}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
move-object v4, v0
.line 806
invoke-virtual {v3}, Ljava/io/FileInputStream;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v8
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_2
.line 807
.end local v5 # "input":Ljava/nio/channels/FileChannel;
.local v8, "input":Ljava/nio/channels/FileChannel;
:try_start_1
invoke-virtual {v4}, Ljava/io/FileOutputStream;->getChannel()Ljava/nio/channels/FileChannel;
move-result-object v7
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
.line 808
.end local v6 # "output":Ljava/nio/channels/FileChannel;
.local v7, "output":Ljava/nio/channels/FileChannel;
:try_start_2
invoke-virtual {v8}, Ljava/nio/channels/FileChannel;->size()J
move-result-wide v5
.line 809
.local v5, "size":J
const-wide/16 v9, 0x0
.line 810
.local v9, "pos":J
const-wide/16 v11, 0x0
move-wide v13, v9
.line 811
.end local v9 # "pos":J
.local v11, "count":J
.local v13, "pos":J
:goto_1
cmp-long v0, v13, v5
if-gez v0, :cond_3
.line 812
sub-long v9, v5, v13
const-wide/32 v15, 0x3200000
cmp-long v0, v9, v15
if-lez v0, :cond_2
goto :goto_2
:cond_2
sub-long v9, v5, v13
move-wide v15, v9
:goto_2
move-wide v11, v15
.line 813
move-wide v9, v13
invoke-virtual/range {v7 .. v12}, Ljava/nio/channels/FileChannel;->transferFrom(Ljava/nio/channels/ReadableByteChannel;JJ)J
move-result-wide v9
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
add-long/2addr v13, v9
goto :goto_1
.line 816
.end local v5 # "size":J
.end local v11 # "count":J
.end local v13 # "pos":J
:cond_3
invoke-static {v7}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 817
invoke-static {v4}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 818
invoke-static {v8}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 819
invoke-static {v3}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 820
nop
.line 822
invoke-virtual/range {p0 .. p0}, Ljava/io/File;->length()J
move-result-wide v5
invoke-virtual/range {p1 .. p1}, Ljava/io/File;->length()J
move-result-wide v9
cmp-long v0, v5, v9
if-nez v0, :cond_5
.line 826
if-eqz p2, :cond_4
.line 827
invoke-virtual/range {p0 .. p0}, Ljava/io/File;->lastModified()J
move-result-wide v5
invoke-virtual {v2, v5, v6}, Ljava/io/File;->setLastModified(J)Z
.line 829
:cond_4
return-void
.line 823
:cond_5
new-instance v0, Ljava/io/IOException;
new-instance v5, Ljava/lang/StringBuilder;
invoke-direct {v5}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Failed to copy full contents from \'"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v6, "\' to \'"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v6, "\'"
invoke-virtual {v5, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v5}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v5
invoke-direct {v0, v5}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 816
:catchall_0
move-exception v0
move-object v6, v7
move-object v5, v8
goto :goto_3
.end local v7 # "output":Ljava/nio/channels/FileChannel;
.restart local v6 # "output":Ljava/nio/channels/FileChannel;
:catchall_1
move-exception v0
move-object v5, v8
goto :goto_3
.end local v8 # "input":Ljava/nio/channels/FileChannel;
.local v5, "input":Ljava/nio/channels/FileChannel;
:catchall_2
move-exception v0
:goto_3
invoke-static {v6}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 817
invoke-static {v4}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 818
invoke-static {v5}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/Closeable;)V
.line 819
invoke-static {v3}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
goto :goto_5
:goto_4
throw v0
:goto_5
goto :goto_4
.end method
.method public static forceDelete(Ljava/io/File;)V
.locals 4
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1633
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
.line 1634
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->deleteDirectory(Ljava/io/File;)V
goto :goto_0
.line 1636
:cond_0
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
.line 1637
.local v0, "filePresent":Z
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v1
if-nez v1, :cond_2
.line 1638
if-nez v0, :cond_1
.line 1639
new-instance v1, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "File does not exist: "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v1
.line 1641
:cond_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unable to delete file: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
.line 1643
.local v1, "message":Ljava/lang/String;
new-instance v2, Ljava/io/IOException;
invoke-direct {v2, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 1646
.end local v0 # "filePresent":Z
.end local v1 # "message":Ljava/lang/String;
:cond_2
:goto_0
return-void
.end method
.method public static forceDeleteOnExit(Ljava/io/File;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1657
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
.line 1658
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->deleteDirectoryOnExit(Ljava/io/File;)V
goto :goto_0
.line 1660
:cond_0
invoke-virtual {p0}, Ljava/io/File;->deleteOnExit()V
.line 1662
:goto_0
return-void
.end method
.method public static forceMkdir(Ljava/io/File;)V
.locals 2
.param p0, "directory" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1731
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
.line 1732
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 1733
:cond_0
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "File "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " exists and is "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, "not a directory. Unable to create directory."
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1738
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1741
.end local v0 # "message":Ljava/lang/String;
:cond_1
invoke-virtual {p0}, Ljava/io/File;->mkdirs()Z
move-result v0
if-nez v0, :cond_3
.line 1744
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_2
goto :goto_0
.line 1746
:cond_2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unable to create directory "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1748
.restart local v0 # "message":Ljava/lang/String;
new-instance v1, Ljava/io/IOException;
invoke-direct {v1, v0}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 1752
.end local v0 # "message":Ljava/lang/String;
:cond_3
:goto_0
return-void
.end method
.method public static getTempDirectory()Ljava/io/File;
.locals 2
.line 143
new-instance v0, Ljava/io/File;
invoke-static {}, Lorg/apache/commons/io/FileUtils;->getTempDirectoryPath()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method public static getTempDirectoryPath()Ljava/lang/String;
.locals 1
.line 132
const-string v0, "java.io.tmpdir"
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static getUserDirectory()Ljava/io/File;
.locals 2
.line 165
new-instance v0, Ljava/io/File;
invoke-static {}, Lorg/apache/commons/io/FileUtils;->getUserDirectoryPath()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
return-object v0
.end method
.method public static getUserDirectoryPath()Ljava/lang/String;
.locals 1
.line 154
const-string v0, "user.home"
invoke-static {v0}, Ljava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static innerListFiles(Ljava/util/Collection;Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;)V
.locals 6
.param p1, "directory" # Ljava/io/File;
.param p2, "filter" # Lorg/apache/commons/io/filefilter/IOFileFilter;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Collection<",
"Ljava/io/File;",
">;",
"Ljava/io/File;",
"Lorg/apache/commons/io/filefilter/IOFileFilter;",
")V"
}
.end annotation
.line 318
.local p0, "files":Ljava/util/Collection;, "Ljava/util/Collection<Ljava/io/File;>;"
invoke-virtual {p1, p2}, Ljava/io/File;->listFiles(Ljava/io/FileFilter;)[Ljava/io/File;
move-result-object v0
.line 319
.local v0, "found":[Ljava/io/File;
if-eqz v0, :cond_1
.line 320
move-object v1, v0
.local v1, "arr$":[Ljava/io/File;
array-length v2, v1
.local v2, "len$":I
const/4 v3, 0x0
.local v3, "i$":I
:goto_0
if-ge v3, v2, :cond_1
aget-object v4, v1, v3
.line 321
.local v4, "file":Ljava/io/File;
invoke-virtual {v4}, Ljava/io/File;->isDirectory()Z
move-result v5
if-eqz v5, :cond_0
.line 322
invoke-static {p0, v4, p2}, Lorg/apache/commons/io/FileUtils;->innerListFiles(Ljava/util/Collection;Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;)V
goto :goto_1
.line 324
:cond_0
invoke-interface {p0, v4}, Ljava/util/Collection;->add(Ljava/lang/Object;)Z
.line 320
.end local v4 # "file":Ljava/io/File;
:goto_1
add-int/lit8 v3, v3, 0x1
goto :goto_0
.line 328
.end local v1 # "arr$":[Ljava/io/File;
.end local v2 # "len$":I
.end local v3 # "i$":I
:cond_1
return-void
.end method
.method public static isFileNewer(Ljava/io/File;J)Z
.locals 4
.param p0, "file" # Ljava/io/File;
.param p1, "timeMillis" # J
.line 1876
if-eqz p0, :cond_2
.line 1879
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
.line 1880
return v1
.line 1882
:cond_0
invoke-virtual {p0}, Ljava/io/File;->lastModified()J
move-result-wide v2
cmp-long v0, v2, p1
if-lez v0, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.line 1877
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified file"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isFileNewer(Ljava/io/File;Ljava/io/File;)Z
.locals 3
.param p0, "file" # Ljava/io/File;
.param p1, "reference" # Ljava/io/File;
.line 1834
if-eqz p1, :cond_1
.line 1837
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_0
.line 1841
invoke-virtual {p1}, Ljava/io/File;->lastModified()J
move-result-wide v0
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->isFileNewer(Ljava/io/File;J)Z
move-result v0
return v0
.line 1838
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The reference file \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' doesn\'t exist"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 1835
:cond_1
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified reference file"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isFileNewer(Ljava/io/File;Ljava/util/Date;)Z
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "date" # Ljava/util/Date;
.line 1857
if-eqz p1, :cond_0
.line 1860
invoke-virtual {p1}, Ljava/util/Date;->getTime()J
move-result-wide v0
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->isFileNewer(Ljava/io/File;J)Z
move-result v0
return v0
.line 1858
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified date"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isFileOlder(Ljava/io/File;J)Z
.locals 4
.param p0, "file" # Ljava/io/File;
.param p1, "timeMillis" # J
.line 1943
if-eqz p0, :cond_2
.line 1946
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_0
.line 1947
return v1
.line 1949
:cond_0
invoke-virtual {p0}, Ljava/io/File;->lastModified()J
move-result-wide v2
cmp-long v0, v2, p1
if-gez v0, :cond_1
const/4 v1, 0x1
:cond_1
return v1
.line 1944
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified file"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isFileOlder(Ljava/io/File;Ljava/io/File;)Z
.locals 3
.param p0, "file" # Ljava/io/File;
.param p1, "reference" # Ljava/io/File;
.line 1901
if-eqz p1, :cond_1
.line 1904
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_0
.line 1908
invoke-virtual {p1}, Ljava/io/File;->lastModified()J
move-result-wide v0
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->isFileOlder(Ljava/io/File;J)Z
move-result v0
return v0
.line 1905
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "The reference file \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' doesn\'t exist"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 1902
:cond_1
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified reference file"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isFileOlder(Ljava/io/File;Ljava/util/Date;)Z
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "date" # Ljava/util/Date;
.line 1924
if-eqz p1, :cond_0
.line 1927
invoke-virtual {p1}, Ljava/util/Date;->getTime()J
move-result-wide v0
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->isFileOlder(Ljava/io/File;J)Z
move-result v0
return v0
.line 1925
:cond_0
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "No specified date"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static isSymlink(Ljava/io/File;)Z
.locals 5
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2190
if-eqz p0, :cond_3
.line 2193
invoke-static {}, Lorg/apache/commons/io/FilenameUtils;->isSystemWindows()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 2194
return v1
.line 2196
:cond_0
const/4 v0, 0x0
.line 2197
.local v0, "fileInCanonicalDir":Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getParent()Ljava/lang/String;
move-result-object v2
if-nez v2, :cond_1
.line 2198
move-object v0, p0
goto :goto_0
.line 2200
:cond_1
invoke-virtual {p0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v2
invoke-virtual {v2}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v2
.line 2201
.local v2, "canonicalDir":Ljava/io/File;
new-instance v3, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v2, v4}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
move-object v0, v3
.line 2204
.end local v2 # "canonicalDir":Ljava/io/File;
:goto_0
invoke-virtual {v0}, Ljava/io/File;->getCanonicalFile()Ljava/io/File;
move-result-object v2
invoke-virtual {v0}, Ljava/io/File;->getAbsoluteFile()Ljava/io/File;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/io/File;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_2
.line 2205
return v1
.line 2207
:cond_2
const/4 v1, 0x1
return v1
.line 2191
.end local v0 # "fileInCanonicalDir":Ljava/io/File;
:cond_3
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "File must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static iterateFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Iterator;
.locals 1
.param p0, "directory" # Ljava/io/File;
.param p1, "fileFilter" # Lorg/apache/commons/io/filefilter/IOFileFilter;
.param p2, "dirFilter" # Lorg/apache/commons/io/filefilter/IOFileFilter;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Lorg/apache/commons/io/filefilter/IOFileFilter;",
"Lorg/apache/commons/io/filefilter/IOFileFilter;",
")",
"Ljava/util/Iterator<",
"Ljava/io/File;",
">;"
}
.end annotation
.line 404
invoke-static {p0, p1, p2}, Lorg/apache/commons/io/FileUtils;->listFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public static iterateFiles(Ljava/io/File;[Ljava/lang/String;Z)Ljava/util/Iterator;
.locals 1
.param p0, "directory" # Ljava/io/File;
.param p1, "extensions" # [Ljava/lang/String;
.param p2, "recursive" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"[",
"Ljava/lang/String;",
"Z)",
"Ljava/util/Iterator<",
"Ljava/io/File;",
">;"
}
.end annotation
.line 461
invoke-static {p0, p1, p2}, Lorg/apache/commons/io/FileUtils;->listFiles(Ljava/io/File;[Ljava/lang/String;Z)Ljava/util/Collection;
move-result-object v0
invoke-interface {v0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v0
return-object v0
.end method
.method public static lineIterator(Ljava/io/File;)Lorg/apache/commons/io/LineIterator;
.locals 1
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1455
const/4 v0, 0x0
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->lineIterator(Ljava/io/File;Ljava/lang/String;)Lorg/apache/commons/io/LineIterator;
move-result-object v0
return-object v0
.end method
.method public static lineIterator(Ljava/io/File;Ljava/lang/String;)Lorg/apache/commons/io/LineIterator;
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1432
const/4 v0, 0x0
.line 1434
.local v0, "in":Ljava/io/InputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openInputStream(Ljava/io/File;)Ljava/io/FileInputStream;
move-result-object v1
move-object v0, v1
.line 1435
invoke-static {v0, p1}, Lorg/apache/commons/io/IOUtils;->lineIterator(Ljava/io/InputStream;Ljava/lang/String;)Lorg/apache/commons/io/LineIterator;
move-result-object v1
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/RuntimeException; {:try_start_0 .. :try_end_0} :catch_0
return-object v1
.line 1439
:catch_0
move-exception v1
.line 1440
.local v1, "ex":Ljava/lang/RuntimeException;
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 1441
throw v1
.line 1436
.end local v1 # "ex":Ljava/lang/RuntimeException;
:catch_1
move-exception v1
.line 1437
.local v1, "ex":Ljava/io/IOException;
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
.line 1438
throw v1
.end method
.method public static listFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Collection;
.locals 6
.param p0, "directory" # Ljava/io/File;
.param p1, "fileFilter" # Lorg/apache/commons/io/filefilter/IOFileFilter;
.param p2, "dirFilter" # Lorg/apache/commons/io/filefilter/IOFileFilter;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Lorg/apache/commons/io/filefilter/IOFileFilter;",
"Lorg/apache/commons/io/filefilter/IOFileFilter;",
")",
"Ljava/util/Collection<",
"Ljava/io/File;",
">;"
}
.end annotation
.line 357
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_2
.line 361
if-eqz p1, :cond_1
.line 366
const/4 v0, 0x2
new-array v1, v0, [Lorg/apache/commons/io/filefilter/IOFileFilter;
const/4 v2, 0x0
aput-object p1, v1, v2
sget-object v3, Lorg/apache/commons/io/filefilter/DirectoryFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
invoke-static {v3}, Lorg/apache/commons/io/filefilter/FileFilterUtils;->notFileFilter(Lorg/apache/commons/io/filefilter/IOFileFilter;)Lorg/apache/commons/io/filefilter/IOFileFilter;
move-result-object v3
const/4 v4, 0x1
aput-object v3, v1, v4
invoke-static {v1}, Lorg/apache/commons/io/filefilter/FileFilterUtils;->and([Lorg/apache/commons/io/filefilter/IOFileFilter;)Lorg/apache/commons/io/filefilter/IOFileFilter;
move-result-object v1
.line 371
.local v1, "effFileFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
if-nez p2, :cond_0
.line 372
sget-object v3, Lorg/apache/commons/io/filefilter/FalseFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
.local v3, "effDirFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
goto :goto_0
.line 374
.end local v3 # "effDirFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
:cond_0
new-array v3, v0, [Lorg/apache/commons/io/filefilter/IOFileFilter;
aput-object p2, v3, v2
sget-object v5, Lorg/apache/commons/io/filefilter/DirectoryFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
aput-object v5, v3, v4
invoke-static {v3}, Lorg/apache/commons/io/filefilter/FileFilterUtils;->and([Lorg/apache/commons/io/filefilter/IOFileFilter;)Lorg/apache/commons/io/filefilter/IOFileFilter;
move-result-object v3
.line 379
.restart local v3 # "effDirFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
:goto_0
new-instance v5, Ljava/util/LinkedList;
invoke-direct {v5}, Ljava/util/LinkedList;-><init>()V
.line 380
.local v5, "files":Ljava/util/Collection;, "Ljava/util/Collection<Ljava/io/File;>;"
new-array v0, v0, [Lorg/apache/commons/io/filefilter/IOFileFilter;
aput-object v1, v0, v2
aput-object v3, v0, v4
invoke-static {v0}, Lorg/apache/commons/io/filefilter/FileFilterUtils;->or([Lorg/apache/commons/io/filefilter/IOFileFilter;)Lorg/apache/commons/io/filefilter/IOFileFilter;
move-result-object v0
invoke-static {v5, p0, v0}, Lorg/apache/commons/io/FileUtils;->innerListFiles(Ljava/util/Collection;Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;)V
.line 382
return-object v5
.line 362
.end local v1 # "effFileFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
.end local v3 # "effDirFilter":Lorg/apache/commons/io/filefilter/IOFileFilter;
.end local v5 # "files":Ljava/util/Collection;, "Ljava/util/Collection<Ljava/io/File;>;"
:cond_1
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Parameter \'fileFilter\' is null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 358
:cond_2
new-instance v0, Ljava/lang/IllegalArgumentException;
const-string v1, "Parameter \'directory\' is not a directory"
invoke-direct {v0, v1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static listFiles(Ljava/io/File;[Ljava/lang/String;Z)Ljava/util/Collection;
.locals 2
.param p0, "directory" # Ljava/io/File;
.param p1, "extensions" # [Ljava/lang/String;
.param p2, "recursive" # Z
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"[",
"Ljava/lang/String;",
"Z)",
"Ljava/util/Collection<",
"Ljava/io/File;",
">;"
}
.end annotation
.line 437
if-nez p1, :cond_0
.line 438
sget-object v0, Lorg/apache/commons/io/filefilter/TrueFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
.local v0, "filter":Lorg/apache/commons/io/filefilter/IOFileFilter;
goto :goto_0
.line 440
.end local v0 # "filter":Lorg/apache/commons/io/filefilter/IOFileFilter;
:cond_0
invoke-static {p1}, Lorg/apache/commons/io/FileUtils;->toSuffixes([Ljava/lang/String;)[Ljava/lang/String;
move-result-object v0
.line 441
.local v0, "suffixes":[Ljava/lang/String;
new-instance v1, Lorg/apache/commons/io/filefilter/SuffixFileFilter;
invoke-direct {v1, v0}, Lorg/apache/commons/io/filefilter/SuffixFileFilter;-><init>([Ljava/lang/String;)V
move-object v0, v1
.line 443
.local v0, "filter":Lorg/apache/commons/io/filefilter/IOFileFilter;
:goto_0
if-eqz p2, :cond_1
sget-object v1, Lorg/apache/commons/io/filefilter/TrueFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
goto :goto_1
:cond_1
sget-object v1, Lorg/apache/commons/io/filefilter/FalseFileFilter;->INSTANCE:Lorg/apache/commons/io/filefilter/IOFileFilter;
:goto_1
invoke-static {p0, v0, v1}, Lorg/apache/commons/io/FileUtils;->listFiles(Ljava/io/File;Lorg/apache/commons/io/filefilter/IOFileFilter;Lorg/apache/commons/io/filefilter/IOFileFilter;)Ljava/util/Collection;
move-result-object v1
return-object v1
.end method
.method public static moveDirectory(Ljava/io/File;Ljava/io/File;)V
.locals 4
.param p0, "srcDir" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2014
if-eqz p0, :cond_6
.line 2017
if-eqz p1, :cond_5
.line 2020
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "Source \'"
if-eqz v0, :cond_4
.line 2023
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_3
.line 2026
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_2
.line 2029
invoke-virtual {p0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v0
.line 2030
.local v0, "rename":Z
if-nez v0, :cond_1
.line 2031
invoke-static {p0, p1}, Lorg/apache/commons/io/FileUtils;->copyDirectory(Ljava/io/File;Ljava/io/File;)V
.line 2032
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->deleteDirectory(Ljava/io/File;)V
.line 2033
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v1
if-nez v1, :cond_0
goto :goto_0
.line 2034
:cond_0
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to delete original directory \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, "\' after copy to \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, "\'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 2038
:cond_1
:goto_0
return-void
.line 2027
.end local v0 # "rename":Z
:cond_2
new-instance v0, Lorg/apache/commons/io/FileExistsException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' already exists"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/commons/io/FileExistsException;-><init>(Ljava/lang/String;)V
throw v0
.line 2024
:cond_3
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' is not a directory"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 2021
:cond_4
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' does not exist"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 2018
:cond_5
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2015
:cond_6
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static moveDirectoryToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.locals 3
.param p0, "src" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "createDestDir" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2053
if-eqz p0, :cond_4
.line 2056
if-eqz p1, :cond_3
.line 2059
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
if-eqz p2, :cond_0
.line 2060
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
.line 2062
:cond_0
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_2
.line 2066
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_1
.line 2069
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, p1, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->moveDirectory(Ljava/io/File;Ljava/io/File;)V
.line 2071
return-void
.line 2067
:cond_1
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' is not a directory"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 2063
:cond_2
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination directory \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' does not exist [createDestDir="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 2057
:cond_3
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination directory must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2054
:cond_4
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static moveFile(Ljava/io/File;Ljava/io/File;)V
.locals 4
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destFile" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2086
if-eqz p0, :cond_7
.line 2089
if-eqz p1, :cond_6
.line 2092
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "Source \'"
if-eqz v0, :cond_5
.line 2095
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
const-string v2, "\' is a directory"
if-nez v0, :cond_4
.line 2098
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "Destination \'"
if-nez v0, :cond_3
.line 2101
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_2
.line 2104
invoke-virtual {p0, p1}, Ljava/io/File;->renameTo(Ljava/io/File;)Z
move-result v0
.line 2105
.local v0, "rename":Z
if-nez v0, :cond_1
.line 2106
invoke-static {p0, p1}, Lorg/apache/commons/io/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)V
.line 2107
invoke-virtual {p0}, Ljava/io/File;->delete()Z
move-result v1
if-eqz v1, :cond_0
goto :goto_0
.line 2108
:cond_0
invoke-static {p1}, Lorg/apache/commons/io/FileUtils;->deleteQuietly(Ljava/io/File;)Z
.line 2109
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Failed to delete original file \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, "\' after copy to \'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v3, "\'"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.line 2113
:cond_1
:goto_0
return-void
.line 2102
.end local v0 # "rename":Z
:cond_2
new-instance v0, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 2099
:cond_3
new-instance v0, Lorg/apache/commons/io/FileExistsException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' already exists"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/apache/commons/io/FileExistsException;-><init>(Ljava/lang/String;)V
throw v0
.line 2096
:cond_4
new-instance v0, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v3, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 2093
:cond_5
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' does not exist"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 2090
:cond_6
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2087
:cond_7
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static moveFileToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.locals 3
.param p0, "srcFile" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "createDestDir" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2128
if-eqz p0, :cond_4
.line 2131
if-eqz p1, :cond_3
.line 2134
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
if-eqz p2, :cond_0
.line 2135
invoke-virtual {p1}, Ljava/io/File;->mkdirs()Z
.line 2137
:cond_0
invoke-virtual {p1}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_2
.line 2141
invoke-virtual {p1}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_1
.line 2144
new-instance v0, Ljava/io/File;
invoke-virtual {p0}, Ljava/io/File;->getName()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, p1, v1}, Ljava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->moveFile(Ljava/io/File;Ljava/io/File;)V
.line 2145
return-void
.line 2142
:cond_1
new-instance v0, Ljava/io/IOException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' is not a directory"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 2138
:cond_2
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Destination directory \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' does not exist [createDestDir="
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
const-string v2, "]"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 2132
:cond_3
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination directory must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2129
:cond_4
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static moveToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.locals 3
.param p0, "src" # Ljava/io/File;
.param p1, "destDir" # Ljava/io/File;
.param p2, "createDestDir" # Z
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 2162
if-eqz p0, :cond_3
.line 2165
if-eqz p1, :cond_2
.line 2168
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
.line 2171
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
.line 2172
invoke-static {p0, p1, p2}, Lorg/apache/commons/io/FileUtils;->moveDirectoryToDirectory(Ljava/io/File;Ljava/io/File;Z)V
goto :goto_0
.line 2174
:cond_0
invoke-static {p0, p1, p2}, Lorg/apache/commons/io/FileUtils;->moveFileToDirectory(Ljava/io/File;Ljava/io/File;Z)V
.line 2176
:goto_0
return-void
.line 2169
:cond_1
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Source \'"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v2, "\' does not exist"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.line 2166
:cond_2
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Destination must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.line 2163
:cond_3
new-instance v0, Ljava/lang/NullPointerException;
const-string v1, "Source must not be null"
invoke-direct {v0, v1}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static openInputStream(Ljava/io/File;)Ljava/io/FileInputStream;
.locals 3
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 188
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "File \'"
if-eqz v0, :cond_2
.line 189
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_1
.line 192
invoke-virtual {p0}, Ljava/io/File;->canRead()Z
move-result v0
if-eqz v0, :cond_0
.line 198
new-instance v0, Ljava/io/FileInputStream;
invoke-direct {v0, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
return-object v0
.line 193
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' cannot be read"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 190
:cond_1
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' exists but is a directory"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 196
:cond_2
new-instance v0, Ljava/io/FileNotFoundException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' does not exist"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public static openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
.locals 4
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 223
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
const-string v1, "File \'"
if-eqz v0, :cond_2
.line 224
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-nez v0, :cond_1
.line 227
invoke-virtual {p0}, Ljava/io/File;->canWrite()Z
move-result v0
if-eqz v0, :cond_0
goto :goto_0
.line 228
:cond_0
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' cannot be written to"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 225
:cond_1
new-instance v0, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' exists but is a directory"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v0
.line 231
:cond_2
invoke-virtual {p0}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object v0
.line 232
.local v0, "parent":Ljava/io/File;
if-eqz v0, :cond_4
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_4
.line 233
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
move-result v2
if-eqz v2, :cond_3
goto :goto_0
.line 234
:cond_3
new-instance v2, Ljava/io/IOException;
new-instance v3, Ljava/lang/StringBuilder;
invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, "\' could not be created"
invoke-virtual {v3, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v2, v1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v2
.line 238
.end local v0 # "parent":Ljava/io/File;
:cond_4
:goto_0
new-instance v0, Ljava/io/FileOutputStream;
invoke-direct {v0, p0}, Ljava/io/FileOutputStream;-><init>(Ljava/io/File;)V
return-object v0
.end method
.method public static readFileToByteArray(Ljava/io/File;)[B
.locals 2
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1357
const/4 v0, 0x0
.line 1359
.local v0, "in":Ljava/io/InputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openInputStream(Ljava/io/File;)Ljava/io/FileInputStream;
move-result-object v1
move-object v0, v1
.line 1360
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->toByteArray(Ljava/io/InputStream;)[B
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1362
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
return-object v1
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v1
.end method
.method public static readFileToString(Ljava/io/File;)Ljava/lang/String;
.locals 1
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1344
const/4 v0, 0x0
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->readFileToString(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static readFileToString(Ljava/io/File;Ljava/lang/String;)Ljava/lang/String;
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1324
const/4 v0, 0x0
.line 1326
.local v0, "in":Ljava/io/InputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openInputStream(Ljava/io/File;)Ljava/io/FileInputStream;
move-result-object v1
move-object v0, v1
.line 1327
invoke-static {v0, p1}, Lorg/apache/commons/io/IOUtils;->toString(Ljava/io/InputStream;Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1329
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
return-object v1
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v1
.end method
.method public static readLines(Ljava/io/File;)Ljava/util/List;
.locals 1
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1397
const/4 v0, 0x0
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->readLines(Ljava/io/File;Ljava/lang/String;)Ljava/util/List;
move-result-object v0
return-object v0
.end method
.method public static readLines(Ljava/io/File;Ljava/lang/String;)Ljava/util/List;
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/lang/String;",
")",
"Ljava/util/List<",
"Ljava/lang/String;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1378
const/4 v0, 0x0
.line 1380
.local v0, "in":Ljava/io/InputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openInputStream(Ljava/io/File;)Ljava/io/FileInputStream;
move-result-object v1
move-object v0, v1
.line 1381
invoke-static {v0, p1}, Lorg/apache/commons/io/IOUtils;->readLines(Ljava/io/InputStream;Ljava/lang/String;)Ljava/util/List;
move-result-object v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1383
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
return-object v1
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/InputStream;)V
throw v1
.end method
.method public static sizeOf(Ljava/io/File;)J
.locals 2
.param p0, "file" # Ljava/io/File;
.line 1775
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_1
.line 1780
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_0
.line 1781
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->sizeOfDirectory(Ljava/io/File;)J
move-result-wide v0
return-wide v0
.line 1783
:cond_0
invoke-virtual {p0}, Ljava/io/File;->length()J
move-result-wide v0
return-wide v0
.line 1776
:cond_1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " does not exist"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1777
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public static sizeOfDirectory(Ljava/io/File;)J
.locals 9
.param p0, "directory" # Ljava/io/File;
.line 1796
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-eqz v0, :cond_3
.line 1801
invoke-virtual {p0}, Ljava/io/File;->isDirectory()Z
move-result v0
if-eqz v0, :cond_2
.line 1806
const-wide/16 v0, 0x0
.line 1808
.local v0, "size":J
invoke-virtual {p0}, Ljava/io/File;->listFiles()[Ljava/io/File;
move-result-object v2
.line 1809
.local v2, "files":[Ljava/io/File;
if-nez v2, :cond_0
.line 1810
const-wide/16 v3, 0x0
return-wide v3
.line 1812
:cond_0
move-object v3, v2
.local v3, "arr$":[Ljava/io/File;
array-length v4, v3
.local v4, "len$":I
const/4 v5, 0x0
.local v5, "i$":I
:goto_0
if-ge v5, v4, :cond_1
aget-object v6, v3, v5
.line 1813
.local v6, "file":Ljava/io/File;
invoke-static {v6}, Lorg/apache/commons/io/FileUtils;->sizeOf(Ljava/io/File;)J
move-result-wide v7
add-long/2addr v0, v7
.line 1812
.end local v6 # "file":Ljava/io/File;
add-int/lit8 v5, v5, 0x1
goto :goto_0
.line 1816
.end local v3 # "arr$":[Ljava/io/File;
.end local v4 # "len$":I
.end local v5 # "i$":I
:cond_1
return-wide v0
.line 1802
.end local v0 # "size":J
.end local v2 # "files":[Ljava/io/File;
:cond_2
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " is not a directory"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1803
.local v0, "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
.line 1797
.end local v0 # "message":Ljava/lang/String;
:cond_3
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v1, " does not exist"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 1798
.restart local v0 # "message":Ljava/lang/String;
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_2
:goto_1
throw v1
:goto_2
goto :goto_1
.end method
.method public static toFile(Ljava/net/URL;)Ljava/io/File;
.locals 3
.param p0, "url" # Ljava/net/URL;
.line 535
if-eqz p0, :cond_1
invoke-virtual {p0}, Ljava/net/URL;->getProtocol()Ljava/lang/String;
move-result-object v0
const-string v1, "file"
invoke-virtual {v1, v0}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-nez v0, :cond_0
goto :goto_0
.line 538
:cond_0
invoke-virtual {p0}, Ljava/net/URL;->getFile()Ljava/lang/String;
move-result-object v0
const/16 v1, 0x2f
sget-char v2, Ljava/io/File;->separatorChar:C
invoke-virtual {v0, v1, v2}, Ljava/lang/String;->replace(CC)Ljava/lang/String;
move-result-object v0
.line 539
.local v0, "filename":Ljava/lang/String;
invoke-static {v0}, Lorg/apache/commons/io/FileUtils;->decodeUrl(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 540
new-instance v1, Ljava/io/File;
invoke-direct {v1, v0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
return-object v1
.line 536
.end local v0 # "filename":Ljava/lang/String;
:cond_1
:goto_0
const/4 v0, 0x0
return-object v0
.end method
.method public static toFiles([Ljava/net/URL;)[Ljava/io/File;
.locals 6
.param p0, "urls" # [Ljava/net/URL;
.line 611
if-eqz p0, :cond_4
array-length v0, p0
if-nez v0, :cond_0
goto :goto_2
.line 614
:cond_0
array-length v0, p0
new-array v0, v0, [Ljava/io/File;
.line 615
.local v0, "files":[Ljava/io/File;
const/4 v1, 0x0
.local v1, "i":I
:goto_0
array-length v2, p0
if-ge v1, v2, :cond_3
.line 616
aget-object v2, p0, v1
.line 617
.local v2, "url":Ljava/net/URL;
if-eqz v2, :cond_2
.line 618
invoke-virtual {v2}, Ljava/net/URL;->getProtocol()Ljava/lang/String;
move-result-object v3
const-string v4, "file"
invoke-virtual {v3, v4}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v3
if-eqz v3, :cond_1
.line 622
invoke-static {v2}, Lorg/apache/commons/io/FileUtils;->toFile(Ljava/net/URL;)Ljava/io/File;
move-result-object v3
aput-object v3, v0, v1
goto :goto_1
.line 619
:cond_1
new-instance v3, Ljava/lang/IllegalArgumentException;
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "URL could not be converted to a File: "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v3
.line 615
.end local v2 # "url":Ljava/net/URL;
:cond_2
:goto_1
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 625
.end local v1 # "i":I
:cond_3
return-object v0
.line 612
.end local v0 # "files":[Ljava/io/File;
:cond_4
:goto_2
sget-object v0, Lorg/apache/commons/io/FileUtils;->EMPTY_FILE_ARRAY:[Ljava/io/File;
return-object v0
.end method
.method private static toSuffixes([Ljava/lang/String;)[Ljava/lang/String;
.locals 4
.param p0, "extensions" # [Ljava/lang/String;
.line 416
array-length v0, p0
new-array v0, v0, [Ljava/lang/String;
.line 417
.local v0, "suffixes":[Ljava/lang/String;
const/4 v1, 0x0
.local v1, "i":I
:goto_0
array-length v2, p0
if-ge v1, v2, :cond_0
.line 418
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "."
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
aget-object v3, p0, v1
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
aput-object v2, v0, v1
.line 417
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 420
.end local v1 # "i":I
:cond_0
return-object v0
.end method
.method public static toURLs([Ljava/io/File;)[Ljava/net/URL;
.locals 3
.param p0, "files" # [Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 638
array-length v0, p0
new-array v0, v0, [Ljava/net/URL;
.line 640
.local v0, "urls":[Ljava/net/URL;
const/4 v1, 0x0
.local v1, "i":I
:goto_0
array-length v2, v0
if-ge v1, v2, :cond_0
.line 641
aget-object v2, p0, v1
invoke-virtual {v2}, Ljava/io/File;->toURI()Ljava/net/URI;
move-result-object v2
invoke-virtual {v2}, Ljava/net/URI;->toURL()Ljava/net/URL;
move-result-object v2
aput-object v2, v0, v1
.line 640
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 644
.end local v1 # "i":I
:cond_0
return-object v0
.end method
.method public static touch(Ljava/io/File;)V
.locals 4
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 284
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
.line 285
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
move-result-object v0
.line 286
.local v0, "out":Ljava/io/OutputStream;
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 288
.end local v0 # "out":Ljava/io/OutputStream;
:cond_0
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
invoke-virtual {p0, v0, v1}, Ljava/io/File;->setLastModified(J)Z
move-result v0
.line 289
.local v0, "success":Z
if-eqz v0, :cond_1
.line 292
return-void
.line 290
:cond_1
new-instance v1, Ljava/io/IOException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Unable to set the last modification time for "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-direct {v1, v2}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method public static waitFor(Ljava/io/File;I)Z
.locals 4
.param p0, "file" # Ljava/io/File;
.param p1, "seconds" # I
.line 1292
const/4 v0, 0x0
.line 1293
.local v0, "timeout":I
const/4 v1, 0x0
.line 1294
.local v1, "tick":I
:goto_0
invoke-virtual {p0}, Ljava/io/File;->exists()Z
move-result v2
if-nez v2, :cond_2
.line 1295
add-int/lit8 v2, v1, 0x1
.end local v1 # "tick":I
.local v2, "tick":I
const/16 v3, 0xa
if-lt v1, v3, :cond_1
.line 1296
const/4 v1, 0x0
.line 1297
.end local v2 # "tick":I
.restart local v1 # "tick":I
add-int/lit8 v2, v0, 0x1
.end local v0 # "timeout":I
.local v2, "timeout":I
if-le v0, p1, :cond_0
.line 1298
const/4 v0, 0x0
return v0
.line 1297
:cond_0
move v0, v2
goto :goto_1
.line 1295
.end local v1 # "tick":I
.restart local v0 # "timeout":I
.local v2, "tick":I
:cond_1
move v1, v2
.line 1302
.end local v2 # "tick":I
.restart local v1 # "tick":I
:goto_1
const-wide/16 v2, 0x64
:try_start_0
invoke-static {v2, v3}, Ljava/lang/Thread;->sleep(J)V
:try_end_0
.catch Ljava/lang/InterruptedException; {:try_start_0 .. :try_end_0} :catch_1
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 1307
:goto_2
goto :goto_0
.line 1305
:catch_0
move-exception v2
.line 1306
.local v2, "ex":Ljava/lang/Exception;
goto :goto_3
.line 1303
.end local v2 # "ex":Ljava/lang/Exception;
:catch_1
move-exception v2
goto :goto_2
.line 1309
:cond_2
:goto_3
const/4 v2, 0x1
return v2
.end method
.method public static write(Ljava/io/File;Ljava/lang/CharSequence;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.param p1, "data" # Ljava/lang/CharSequence;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1501
if-nez p1, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
.line 1502
.local v0, "str":Ljava/lang/String;
:goto_0
invoke-static {p0, v0}, Lorg/apache/commons/io/FileUtils;->writeStringToFile(Ljava/io/File;Ljava/lang/String;)V
.line 1503
return-void
.end method
.method public static write(Ljava/io/File;Ljava/lang/CharSequence;Ljava/lang/String;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.param p1, "data" # Ljava/lang/CharSequence;
.param p2, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1516
if-nez p1, :cond_0
const/4 v0, 0x0
goto :goto_0
:cond_0
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v0
.line 1517
.local v0, "str":Ljava/lang/String;
:goto_0
invoke-static {p0, v0, p2}, Lorg/apache/commons/io/FileUtils;->writeStringToFile(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
.line 1518
return-void
.end method
.method public static writeByteArrayToFile(Ljava/io/File;[B)V
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "data" # [B
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1532
const/4 v0, 0x0
.line 1534
.local v0, "out":Ljava/io/OutputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
move-result-object v1
move-object v0, v1
.line 1535
invoke-virtual {v0, p1}, Ljava/io/OutputStream;->write([B)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1537
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 1538
nop
.line 1539
return-void
.line 1537
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
throw v1
.end method
.method public static writeLines(Ljava/io/File;Ljava/lang/String;Ljava/util/Collection;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.param p1, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/lang/String;",
"Ljava/util/Collection<",
"*>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1557
.local p2, "lines":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
const/4 v0, 0x0
invoke-static {p0, p1, p2, v0}, Lorg/apache/commons/io/FileUtils;->writeLines(Ljava/io/File;Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
.line 1558
return-void
.end method
.method public static writeLines(Ljava/io/File;Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "encoding" # Ljava/lang/String;
.param p3, "lineEnding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/lang/String;",
"Ljava/util/Collection<",
"*>;",
"Ljava/lang/String;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1592
.local p2, "lines":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
const/4 v0, 0x0
.line 1594
.local v0, "out":Ljava/io/OutputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
move-result-object v1
move-object v0, v1
.line 1595
invoke-static {p2, p3, v0, p1}, Lorg/apache/commons/io/IOUtils;->writeLines(Ljava/util/Collection;Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1597
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 1598
nop
.line 1599
return-void
.line 1597
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
throw v1
.end method
.method public static writeLines(Ljava/io/File;Ljava/util/Collection;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/util/Collection<",
"*>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1571
.local p1, "lines":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
const/4 v0, 0x0
invoke-static {p0, v0, p1, v0}, Lorg/apache/commons/io/FileUtils;->writeLines(Ljava/io/File;Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
.line 1572
return-void
.end method
.method public static writeLines(Ljava/io/File;Ljava/util/Collection;Ljava/lang/String;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.param p2, "lineEnding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/io/File;",
"Ljava/util/Collection<",
"*>;",
"Ljava/lang/String;",
")V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1613
.local p1, "lines":Ljava/util/Collection;, "Ljava/util/Collection<*>;"
const/4 v0, 0x0
invoke-static {p0, v0, p1, p2}, Lorg/apache/commons/io/FileUtils;->writeLines(Ljava/io/File;Ljava/lang/String;Ljava/util/Collection;Ljava/lang/String;)V
.line 1614
return-void
.end method
.method public static writeStringToFile(Ljava/io/File;Ljava/lang/String;)V
.locals 1
.param p0, "file" # Ljava/io/File;
.param p1, "data" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1489
const/4 v0, 0x0
invoke-static {p0, p1, v0}, Lorg/apache/commons/io/FileUtils;->writeStringToFile(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
.line 1490
return-void
.end method
.method public static writeStringToFile(Ljava/io/File;Ljava/lang/String;Ljava/lang/String;)V
.locals 2
.param p0, "file" # Ljava/io/File;
.param p1, "data" # Ljava/lang/String;
.param p2, "encoding" # Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1472
const/4 v0, 0x0
.line 1474
.local v0, "out":Ljava/io/OutputStream;
:try_start_0
invoke-static {p0}, Lorg/apache/commons/io/FileUtils;->openOutputStream(Ljava/io/File;)Ljava/io/FileOutputStream;
move-result-object v1
move-object v0, v1
.line 1475
invoke-static {p1, v0, p2}, Lorg/apache/commons/io/IOUtils;->write(Ljava/lang/String;Ljava/io/OutputStream;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 1477
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
.line 1478
nop
.line 1479
return-void
.line 1477
:catchall_0
move-exception v1
invoke-static {v0}, Lorg/apache/commons/io/IOUtils;->closeQuietly(Ljava/io/OutputStream;)V
throw v1
.end method