Fazendo parser de um comando com virgula

Desculpem pelo título, mas eu não consegui pensar em algo bem descritivo para o meu problema.

Estou conversando com um equipamento via socket. Conexão está ok.

O problema é o seguinte, ele me retorna uma string no seguinte formato, para indicar errors:

   [code] > -100, "std_command, Parser Problem"[/code]

Como exemplo de um erro de comando desocnhecido. Como podem ver, o formato da mensagem é:

 <código_erro> <virgula> <espaço> <aspas duplas> <mensagem> <aspas duplas>

Sendo que dentro das aspas duplas, eu também posso ter vŕgula. Eu preciso separar isso em:

int = <codigo erro> String = <mensagem>

Mas estou tendo dificuldades com isso, alguém tem alguma idéia?

Eu até consegui fazer, mas ficou muito gambiarra.

	public static void main(String[] args){
		String message = "-208, \"Problem doing, something\"";
		StringTokenizer tokenizer = new StringTokenizer(message,", \"");
		int code = Integer.parseInt(tokenizer.nextToken());
		StringBuffer buf = new StringBuffer();
		while(tokenizer.hasMoreTokens()){
			buf.append(tokenizer.nextToken());
			buf.append(" ");
		}
		String errorMessage = buf.toString();
		System.out.println("Code: "+code+" | Message: "+errorMessage);
	}

Usa o método split:

public static void main(String[] args){  

        String message = "-208, \"Problem doing, something\"";  
        
        String[] tokens = message.split(",",2);        
        
        System.out.println("Code: "+tokens[0]+" | Message: "+tokens[1]);  
    }

Mas split ainda me retorna a string com aspas.

Poderia pegar a sua ideia e fazer o seguinte:

public static void main(String[] args){    
        String message = "-208, \"Problem doing, something\"";    
        String[] tokens = message.split(",",2);
        String errorMessage = tokens[1].replace('\"',' ').trim();          
        System.out.println("Code: "+tokens[0]+" | Message: "+errorMessage);    
    }  

Já fica com menos cara de gambiarra. Obrigado.

Mais alguma sugestão ?