Here you can find the source of parseArguments(String args)
private static String[] parseArguments(String args)
//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; } }