Java XML Parse String parseArguments(String args)

Here you can find the source of parseArguments(String args)

Description

parse Arguments

License

Open Source License

Declaration

private static String[] parseArguments(String args) 

Method Source Code

//package com.java2s;
/*/*from   w  ww  . jav  a2 s . co m*/
 * Copyright, Aspect Security, Inc.
 *
 * This file is part of JavaSnoop.
 *
 * JavaSnoop is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * JavaSnoop is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with JavaSnoop.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.util.ArrayList;

import java.util.List;

public class Main {
    private static String[] parseArguments(String args) {

        List<String> arguments = new ArrayList<String>();

        boolean quoted = false;
        String currentArg = "";

        for (int i = 0; i < args.length(); i++) {
            char c = args.charAt(i);
            if (!quoted && c == ' ') {
                arguments.add(currentArg);
                currentArg = "";
            } else if (quoted && c == '"') {
                arguments.add(currentArg);
                currentArg = "";
                quoted = false;
                i++; // skip over the space
            } else if (c == '"') {
                quoted = true;
            } else {
                currentArg += c;
            }
            if (i == args.length() - 1) {
                arguments.add(currentArg);
            }
        }

        String[] toReturn = new String[arguments.size()];

        for (int i = 0; i < arguments.size(); i++) {
            toReturn[i] = arguments.get(i);
        }

        return toReturn;
    }
}

Related

  1. parseArgs(String[] args)
  2. parseArgs(String[] args)
  3. parseArgsString(String args)
  4. parseArgsToVmArgs(String[] args, String prefixOfVmArgs)
  5. parseArguments(final String command)
  6. parseArguments(String[] arguments, String delimiter)
  7. parseArgumentString(String argStr)
  8. parseArgumentString(String command)
  9. parseArray(String array)