driver-legacy/src/main/com/mongodb/gridfs/CLI.java
public static void main(final String[] args) throws Exception {

        if (args.length < 1) {
            printUsage();
            return;
        }

        for (int i = 0; i < args.length; i++) {
            String s = args[i];

            if (s.equals("--db")) {
                db = args[i + 1];
                i++;
                continue;
            }

            if (s.equals("--host")) {
                host = args[i + 1];
                i++;
                continue;
            }

            if (s.equals("help")) {
                printUsage();
                return;
            }

            if (s.equals("list")) {
                GridFS fs = getGridFS();

                System.out.printf("%-60s %-10s%n", "Filename", "Length");

                DBCursor fileListCursor = fs.getFileList();
                try {
                    while (fileListCursor.hasNext()) {
                        DBObject o = fileListCursor.next();
                        System.out.printf("%-60s %-10d%n", o.get("filename"), ((Number) o.get("length")).longValue());
                    }
                } finally {
                    fileListCursor.close();
                }
                return;
            }

            if (s.equals("get")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSDBFile f = fs.findOne(fn);
                if (f == null) {
                    System.err.println("can't find file: " + fn);
                    return;
                }

                f.writeTo(f.getFilename());
                return;
            }

            if (s.equals("put")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSInputFile f = fs.createFile(new File(fn));
                f.save();
                f.validate();
                return;
            }


            if (s.equals("md5")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSDBFile f = fs.findOne(fn);
                if (f == null) {
                    System.err.println("can't find file: " + fn);
                    return;
                }

                MessageDigest md5 = MessageDigest.getInstance("MD5");
                md5.reset();
                int read = 0;
                DigestInputStream is = new DigestInputStream(f.getInputStream(), md5);
                try {
                    while (is.read() >= 0) {
                        read++;
                        int r = is.read(new byte[17]);
                        if (r < 0) {
                            break;
                        }
                        read += r;
                    }
                } finally {
                    is.close();
                }
                byte[] digest = md5.digest();
                System.out.println("length: " + read + " md5: " + Util.toHex(digest));
                return;
            }

            System.err.println("unknown option: " + s);
            return;
        }
    }
public static void main(final String[] args) throws Exception {

        if (args.length < 1) {
            printUsage();
            return;
        }

        for (int i = 0; i < args.length; i++) {
            String s = args[i];

            if (s.equals("--db")) {
                db = args[i + 1];
                i++;
                continue;
            }

            if (s.equals("--host")) {
                host = args[i + 1];
                i++;
                continue;
            }

            if (s.equals("help")) {
                printUsage();
                return;
            }

            if (s.equals("list")) {
                GridFS fs = getGridFS();

                System.out.printf("%-60s %-10s%n", "Filename", "Length");

                DBCursor fileListCursor = fs.getFileList();
                try {
                    while (fileListCursor.hasNext()) {
                        DBObject o = fileListCursor.next();
                        System.out.printf("%-60s %-10d%n", o.get("filename"), ((Number) o.get("length")).longValue());
                    }
                } finally {
                    fileListCursor.close();
                }
                return;
            }

            if (s.equals("get")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSDBFile f = fs.findOne(fn);
                if (f == null) {
                    System.err.println("can't find file: " + fn);
                    return;
                }

                f.writeTo(f.getFilename());
                return;
            }

            if (s.equals("put")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSInputFile f = fs.createFile(new File(fn));
                f.save();
                f.validate();
                return;
            }


            if (s.equals("md5")) {
                GridFS fs = getGridFS();
                String fn = args[i + 1];
                GridFSDBFile f = fs.findOne(fn);
                if (f == null) {
                    System.err.println("can't find file: " + fn);
                    return;
                }

                MessageDigest md5 = MessageDigest.getInstance("MD5");
                md5.reset();
                int read = 0;
                DigestInputStream is = new DigestInputStream(f.getInputStream(), md5);
                try {
                    while (is.read() >= 0) {
                        read++;
                        int r = is.read(new byte[17]);
                        if (r < 0) {
                            break;
                        }
                        read += r;
                    }
                } finally {
                    is.close();
                }
                byte[] digest = md5.digest();
                System.out.println("length: " + read + " md5: " + Util.toHex(digest));
                return;
            }

            System.err.println("unknown option: " + s);
            return;
        }
    }
public static void main ( final String [ ] args ) throws Exception { if ( args . length < 1 ) { printUsage ( ) ; return ; } for ( int i = 0 ; i < args . length ; i ++ ) { String s = args [ i ] ; if ( s . equals ( "--db" ) ) { db = args [ i + 1 ] ; i ++ ; continue ; } if ( s . equals ( "--host" ) ) { host = args [ i + 1 ] ; i ++ ; continue ; } if ( s . equals ( "help" ) ) { printUsage ( ) ; return ; } if ( s . equals ( "list" ) ) { GridFS fs = getGridFS ( ) ; System . out . printf ( "%-60s %-10s%n" , "Filename" , "Length" ) ; DBCursor fileListCursor = fs . getFileList ( ) ; try { while ( fileListCursor . hasNext ( ) ) { DBObject o = fileListCursor . next ( ) ; System . out . printf ( "%-60s %-10d%n" , o . get ( "filename" ) , ( ( Number ) o . get ( "length" ) ) . longValue ( ) ) ; } } finally { fileListCursor . close ( ) ; } return ; } if ( s . equals ( "get" ) ) { GridFS fs = getGridFS ( ) ; String fn = args [ i + 1 ] ; GridFSDBFile f = fs . findOne ( fn ) ; if ( f == null ) { System . err . println ( "can't find file: " + fn ) ; return ; } f . writeTo ( f . getFilename ( ) ) ; return ; } if ( s . equals ( "put" ) ) { GridFS fs = getGridFS ( ) ; String fn = args [ i + 1 ] ; GridFSInputFile f = fs . createFile ( new File ( fn ) ) ; f . save ( ) ; f . validate ( ) ; return ; } if ( s . equals ( "md5" ) ) { GridFS fs = getGridFS ( ) ; String fn = args [ i + 1 ] ; GridFSDBFile f = fs . findOne ( fn ) ; if ( f == null ) { System . err . println ( "can't find file: " + fn ) ; return ; } MessageDigest md5 = MessageDigest . getInstance ( "MD5" ) ; md5 . reset ( ) ; int read = 0 ; DigestInputStream is = new DigestInputStream ( f . getInputStream ( ) , md5 ) ; try { while ( is . read ( ) >= 0 ) { read ++ ; int r = is . read ( new byte [ 17 ] ) ; if ( r < 0 ) { break ; } read += r ; } } finally { is . close ( ) ; } byte [ ] digest = md5 . digest ( ) ; System . out . println ( "length: " + read + " md5: " + Util . toHex ( digest ) ) ; return ; } System . err . println ( "unknown option: " + s ) ; return ; } }
CHECKSTYLE:OFF
CHECKSTYLE : OFF