Boa noite,
Preciso muito de uma ajuda … Eu preciso ler arquivos em java, (dados: chave e valor) mas o problema é que a chave pode ser string ou int.
Eu não posso salvar tudo como string pois preciso ordenar essas chaves depois, tanto as inteiras tanto as strings.
Alguém pode me dar uma luz de como resolver isso.
Obrigada
Até onde sei os dados são armazenados como String nos arquivos, independente do tipo do mesmo, e ao fazer a leitura do arquivo você faz a conversão dos dados para o valor necessário para uso!
1 curtida
Salva em String e então use o parseInt de Integer para pegar as chaves em int.
Parses the string argument as a signed decimal integer. The characters in the string must all be decimal digits, except that the first character may be an ASCII minus sign ‘-’ (’\u005Cu002D’) to indicate a negative value or an ASCII plus sign ‘+’ (’\u005Cu002B’) to indicate a positive value. The resulting integer value is returned, exactly as if the argument and the radix 10 were given as arguments to the parseInt(java.lang.String, int) method.
Parameters:
s a String containing the int representation to be parsed
Returns:
the integer value represented by the argument in decimal.
Throws:
NumberFormatException - if the string does not contain a parsable integer.
Em arquivos de texto, sim .
Em arquivos binários, não .
Isso é lógico, pois o próprio formato do arquivo já diz!
A resposta que fiz foi de acordo com a dúvida do post, e não aplicável de forma geral a todo e qualquer arquivo!
1 curtida