Java: StringBuffer e concatenação

Eu estou usando StringBuffer em Java para concatenar as strings, assim:

StringBuffer str = new StringBuffer();

str.append("string value");

Eu gostaria de saber se existe um método (embora eu não tenha encontrado nada de uma rápida olhada na documentação) ou alguma outra maneira de adicionar "preenchimento".

Deixe-me explicar; toda vez que eu acrescentar algo à string, quero adicionar um espaço no final, assim:

String foo = "string value";
str.append(foo + " ");

e eu tenho várias chamadas para adicionar ... e toda vez, eu quero adicionar um espaço. Existe uma maneira de definir o objeto para que ele adicione um espaço automaticamente após cada acréscimo?

EDITAR -

String input
StringBuffer query = new StringBuffer();
Scanner scanner = new Scanner(System.in);
scanner.UseDelimiter("\n");

do {
   System.out.println("sql> ");

   input = scanner.next();

   if (!empty(input)) query.append(input);

   if (query.toString().trim().endsWith(";")) {
         //run query
   }
}
while (!input.equalsIgnoreCase("exit");

Vou usar StringBuilder embora como grom sugerido, mas é assim que o código parece agora

questionAnswers(6)

yourAnswerToTheQuestion