public static String[] parse(String[] args)
        throws IOException
    {
        ListBuffer<String> newArgs = new ListBuffer<String>();
        for (int i = 0; i < args.length; i++) {
            String arg = args[i];
            if (arg.length() > 1 && arg.charAt(0) == '@') {
                arg = arg.substring(1);
                if (arg.charAt(0) == '@') {
                    newArgs.append(arg);
                } else {
                    loadCmdFile(arg, newArgs);
                }
            } else {
                newArgs.append(arg);
            }
        }
        return newArgs.toList().toArray(new String[newArgs.length()]);
    }
public static String [ ] parse ( String [ ] args ) throws IOException { ListBuffer < String > newArgs = new ListBuffer < String > ( ) ; for ( int i = 0 ; i < args . length ; i ++ ) { String arg = args [ i ] ; if ( arg . length ( ) > 1 && arg . charAt ( 0 ) == '@' ) { arg = arg . substring ( 1 ) ; if ( arg . charAt ( 0 ) == '@' ) { newArgs . append ( arg ) ; } else { loadCmdFile ( arg , newArgs ) ; } } else { newArgs . append ( arg ) ; } } return newArgs . toList ( ) . toArray ( new String [ newArgs . length ( ) ] ) ; }
Process Win32-style command files for the specified command line
arguments and return the resulting arguments. A command file argument
is of the form '@file' where 'file' is the name of the file whose
contents are to be parsed for additional arguments. The contents of
the command file are parsed using StreamTokenizer and the original
'@file' argument replaced with the resulting tokens. Recursive command
files are not supported. The '@' character itself can be quoted with
the sequence '@@'.