public class com.mongodb.gridfs.GridFSDBFile extends com.mongodb.gridfs.GridFSFile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.gridfs.GridFSDBFile
  super_class: com.mongodb.gridfs.GridFSFile
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
         0: .line 38
            aload 0 /* this */
            invokespecial com.mongodb.gridfs.GridFSFile.<init>:()V
            return
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFSDBFile;

  public java.io.InputStream getInputStream();
    descriptor: ()Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
         0: .line 45
            new com.mongodb.gridfs.GridFSDBFile$GridFSInputStream
            dup
            aload 0 /* this */
            invokespecial com.mongodb.gridfs.GridFSDBFile$GridFSInputStream.<init>:(Lcom/mongodb/gridfs/GridFSDBFile;)V
            areturn
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/gridfs/GridFSDBFile;

  public long writeTo(java.lang.String);
    descriptor: (Ljava/lang/String;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
        start local 1 // java.lang.String filename
         0: .line 56
            aload 0 /* this */
            new java.io.File
            dup
            aload 1 /* filename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual com.mongodb.gridfs.GridFSDBFile.writeTo:(Ljava/io/File;)J
            lreturn
        end local 1 // java.lang.String filename
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/mongodb/gridfs/GridFSDBFile;
            0    1     1  filename  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      filename  final

  public long writeTo(java.io.File);
    descriptor: (Ljava/io/File;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
        start local 1 // java.io.File file
         0: .line 67
            aconst_null
            astore 2 /* out */
        start local 2 // java.io.FileOutputStream out
         1: .line 69
            new java.io.FileOutputStream
            dup
            aload 1 /* file */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 2 /* out */
         2: .line 70
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual com.mongodb.gridfs.GridFSDBFile.writeTo:(Ljava/io/OutputStream;)J
            lstore 4
         3: .line 72
            aload 2 /* out */
            ifnull 5
         4: .line 73
            aload 2 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
         5: .line 70
      StackMap locals: com.mongodb.gridfs.GridFSDBFile java.io.File java.io.FileOutputStream top long
      StackMap stack:
            lload 4
            lreturn
         6: .line 71
      StackMap locals: com.mongodb.gridfs.GridFSDBFile java.io.File java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
            astore 3
         7: .line 72
            aload 2 /* out */
            ifnull 9
         8: .line 73
            aload 2 /* out */
            invokevirtual java.io.FileOutputStream.close:()V
         9: .line 75
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        end local 2 // java.io.FileOutputStream out
        end local 1 // java.io.File file
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/mongodb/gridfs/GridFSDBFile;
            0   10     1  file  Ljava/io/File;
            1   10     2   out  Ljava/io/FileOutputStream;
      Exception table:
        from    to  target  type
           1     3       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      file  final

  public long writeTo(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
        start local 1 // java.io.OutputStream out
         0: .line 86
            aload 0 /* this */
            invokevirtual com.mongodb.gridfs.GridFSDBFile.numChunks:()I
            istore 2 /* nc */
        start local 2 // int nc
         1: .line 87
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 88
      StackMap locals: int int
      StackMap stack:
            aload 1 /* out */
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual com.mongodb.gridfs.GridFSDBFile.getChunk:(I)[B
            invokevirtual java.io.OutputStream.write:([B)V
         4: .line 87
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 2 /* nc */
            if_icmplt 3
        end local 3 // int i
         6: .line 90
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.length:J
            lreturn
        end local 2 // int nc
        end local 1 // java.io.OutputStream out
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/mongodb/gridfs/GridFSDBFile;
            0    7     1   out  Ljava/io/OutputStream;
            1    7     2    nc  I
            2    6     3     i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   final

  private byte[] getChunk(int);
    descriptor: (I)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
        start local 1 // int chunkNumber
         0: .line 94
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.fs:Lcom/mongodb/gridfs/GridFS;
            ifnonnull 2
         1: .line 95
            new java.lang.IllegalStateException
            dup
            ldc "No GridFS instance defined!"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.fs:Lcom/mongodb/gridfs/GridFS;
            invokevirtual com.mongodb.gridfs.GridFS.getChunksCollection:()Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "files_id"
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.id:Ljava/lang/Object;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            ldc "n"
            iload 1 /* chunkNumber */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual com.mongodb.BasicDBObject.append:(Ljava/lang/String;Ljava/lang/Object;)Lcom/mongodb/BasicDBObject;
            invokevirtual com.mongodb.DBCollection.findOne:(Lcom/mongodb/DBObject;)Lcom/mongodb/DBObject;
            astore 2 /* chunk */
        start local 2 // com.mongodb.DBObject chunk
         3: .line 99
            aload 2 /* chunk */
            ifnonnull 5
         4: .line 100
            new com.mongodb.MongoException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't find a chunk!  file id: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.id:Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " chunk: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 1 /* chunkNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.mongodb.MongoException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 103
      StackMap locals: com.mongodb.DBObject
      StackMap stack:
            aload 2 /* chunk */
            ldc "data"
            invokeinterface com.mongodb.DBObject.get:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast byte[]
            areturn
        end local 2 // com.mongodb.DBObject chunk
        end local 1 // int chunkNumber
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lcom/mongodb/gridfs/GridFSDBFile;
            0    6     1  chunkNumber  I
            3    6     2        chunk  Lcom/mongodb/DBObject;
    MethodParameters:
             Name  Flags
      chunkNumber  final

  void remove();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.mongodb.gridfs.GridFSDBFile this
         0: .line 110
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.fs:Lcom/mongodb/gridfs/GridFS;
            invokevirtual com.mongodb.gridfs.GridFS.getFilesCollection:()Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "_id"
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.id:Ljava/lang/Object;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCollection.remove:(Lcom/mongodb/DBObject;)Lcom/mongodb/WriteResult;
            pop
         1: .line 111
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.fs:Lcom/mongodb/gridfs/GridFS;
            invokevirtual com.mongodb.gridfs.GridFS.getChunksCollection:()Lcom/mongodb/DBCollection;
            new com.mongodb.BasicDBObject
            dup
            ldc "files_id"
            aload 0 /* this */
            getfield com.mongodb.gridfs.GridFSDBFile.id:Ljava/lang/Object;
            invokespecial com.mongodb.BasicDBObject.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            invokevirtual com.mongodb.DBCollection.remove:(Lcom/mongodb/DBObject;)Lcom/mongodb/WriteResult;
            pop
         2: .line 112
            return
        end local 0 // com.mongodb.gridfs.GridFSDBFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/gridfs/GridFSDBFile;
}
SourceFile: "GridFSDBFile.java"
NestMembers:
  com.mongodb.gridfs.GridFSDBFile$GridFSInputStream
InnerClasses:
  private GridFSInputStream = com.mongodb.gridfs.GridFSDBFile$GridFSInputStream of com.mongodb.gridfs.GridFSDBFile