.class final Lcom/google/common/io/Files$FileByteSource; .super Lcom/google/common/io/ByteSource; .source "Files.java" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Lcom/google/common/io/Files; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x1a name = "FileByteSource" .end annotation # instance fields .field private final file:Ljava/io/File; # direct methods .method private constructor (Ljava/io/File;)V .locals 0 .line 126 invoke-direct {p0}, Lcom/google/common/io/ByteSource;->()V .line 127 invoke-static {p1}, Lcom/google/common/base/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/io/File; iput-object p1, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; return-void .end method .method synthetic constructor (Ljava/io/File;Lcom/google/common/io/Files$1;)V .locals 0 .line 122 invoke-direct {p0, p1}, Lcom/google/common/io/Files$FileByteSource;->(Ljava/io/File;)V return-void .end method # virtual methods .method public openStream()Ljava/io/FileInputStream; .locals 1 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 132 new-instance v0, Ljava/io/FileInputStream; iget-object p0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-direct {v0, p0}, Ljava/io/FileInputStream;->(Ljava/io/File;)V return-object v0 .end method .method public bridge synthetic openStream()Ljava/io/InputStream; .locals 0 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 122 invoke-virtual {p0}, Lcom/google/common/io/Files$FileByteSource;->openStream()Ljava/io/FileInputStream; move-result-object p0 return-object p0 .end method .method public read()[B .locals 3 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation .line 154 invoke-static {}, Lcom/google/common/io/Closer;->create()Lcom/google/common/io/Closer; move-result-object v0 .line 156 :try_start_0 invoke-virtual {p0}, Lcom/google/common/io/Files$FileByteSource;->openStream()Ljava/io/FileInputStream; move-result-object p0 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->register(Ljava/io/Closeable;)Ljava/io/Closeable; move-result-object p0 check-cast p0, Ljava/io/FileInputStream; .line 157 invoke-virtual {p0}, Ljava/io/FileInputStream;->getChannel()Ljava/nio/channels/FileChannel; move-result-object v1 invoke-virtual {v1}, Ljava/nio/channels/FileChannel;->size()J move-result-wide v1 invoke-static {p0, v1, v2}, Lcom/google/common/io/ByteStreams;->toByteArray(Ljava/io/InputStream;J)[B move-result-object p0 :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 161 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V return-object p0 :catchall_0 move-exception p0 .line 159 :try_start_1 invoke-virtual {v0, p0}, Lcom/google/common/io/Closer;->rethrow(Ljava/lang/Throwable;)Ljava/lang/RuntimeException; move-result-object p0 throw p0 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_1 :catchall_1 move-exception p0 .line 161 invoke-virtual {v0}, Lcom/google/common/io/Closer;->close()V .line 162 throw p0 .end method .method public size()J .locals 2 .annotation system Ldalvik/annotation/Throws; value = { Ljava/io/IOException; } .end annotation iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; .line 146 invoke-virtual {v0}, Ljava/io/File;->isFile()Z move-result v0 if-eqz v0, :cond_0 iget-object p0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; .line 149 invoke-virtual {p0}, Ljava/io/File;->length()J move-result-wide v0 return-wide v0 .line 147 :cond_0 new-instance v0, Ljava/io/FileNotFoundException; iget-object p0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; invoke-virtual {p0}, Ljava/io/File;->toString()Ljava/lang/String; move-result-object p0 invoke-direct {v0, p0}, Ljava/io/FileNotFoundException;->(Ljava/lang/String;)V throw v0 .end method .method public sizeIfKnown()Lcom/google/common/base/Optional; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "()", "Lcom/google/common/base/Optional<", "Ljava/lang/Long;", ">;" } .end annotation iget-object v0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; .line 137 invoke-virtual {v0}, Ljava/io/File;->isFile()Z move-result v0 if-eqz v0, :cond_0 iget-object p0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; .line 138 invoke-virtual {p0}, Ljava/io/File;->length()J move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long; move-result-object p0 invoke-static {p0}, Lcom/google/common/base/Optional;->of(Ljava/lang/Object;)Lcom/google/common/base/Optional; move-result-object p0 return-object p0 .line 140 :cond_0 invoke-static {}, Lcom/google/common/base/Optional;->absent()Lcom/google/common/base/Optional; move-result-object p0 return-object p0 .end method .method public toString()Ljava/lang/String; .locals 2 iget-object p0, p0, Lcom/google/common/io/Files$FileByteSource;->file:Ljava/io/File; .line 167 invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object p0 invoke-static {p0}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v0}, Ljava/lang/String;->length()I move-result v0 add-int/lit8 v0, v0, 0x14 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v0}, Ljava/lang/StringBuilder;->(I)V const-string v0, "Files.asByteSource(" invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 const-string v0, ")" invoke-virtual {p0, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p0 invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p0 return-object p0 .end method