Olá, galera!
Estou tendo problema na utilização do StringBuilder, e gostaria de saber aonde estou errando e de que forma poderia contornar o problema.
Preciso gerar um txt contendo várias linhas. Cada linha conterá os dados de um registro. E cada “bloco” de cada linha, conterá um dado específico do registro.
Pela pesquisa que fiz, vi que poderia implementar isso com a utilização do StringBuilder.
Mas o problema é que quando tento fazer, por exemplo:
StringBuilder sb = new StringBuilder(100);
sb.insert(1, "umastringqualquer");
Recebo a exceção:
java.lang.StringIndexOutOfBoundsException: String index out of range: 1
Porém, se eu fizer:
StringBuilder sb = new StringBuilder();
sb.append(" [i]imagine que aqui haja 100 espaços em branco[/i] ");
sb.insert(1, "umastringqualquer");
não recebo erro nenhum.
É claro, não estou pensando em implementar a segunda forma, só a fiz para teste.
A minha dúvida é: se no primeiro caso, eu defini um tamanho para o StringBuilder, já em sua instanciação, por que recebo o erro de StringIndexOutOfBoundsException ao tentar inserir uma string nele?
PS: se alguém tiver uma sugestão “melhor” de como criar o arquivo txt, sem a utilização do StringBuilder, eu também aceito.