Ola,
Bom, pelo que vi vc so quer guardar um arquivo com informacoes de usuarios… por que vc nao faz isto num Map, tipo, vc criaria uma classe User, com os atributos userName, passwd, cargo, no Map vc popula pelo userName, se este for unico no sistema, e para a persistencia vc serializa o Map num arquivo… em aconselharia vc a usar a interface java.io.Externalizable na classe User, segue os exemplos:
import java.io.Externalizable;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectOutput;
public class User implements Externalizable{
static final long serialVersionUID = 1L;
private String userName;
private String passwd;
private String cargo;
... /*implementação dos gets/sets e construtores, lembrando que a classe tem que ter um construtor padrão*/
public void writeExternal(ObjectOutput out) throws IOException {
//lembrar que na hora de escrever nenhum dos atributos podem estar nulos...
out.writeUTF(this.userName);
out.writeUTF(this.passwd);
out.writeUTF(this.cargo);
}
public void readExternal(ObjectInput in) throws IOException,
ClassNotFoundException {
this.userName = in.readUTF();
this.passwd = in.readUTF();
this.cargo = in.readUTF();
}
}
Bom, este exemplo e para a classe de User, o Map vc pode usar o java.util.HashMap.
Em relação ao carregamento em memoria… acho que ate umas 1000 usuarios vc não tera um problema muito sério… mas vc pode ver +/- quanto de memoria esta sendo gasto pelo tamanho do Map persistido… não é exato, mas sá uma idéia de como ele fica na memoria…
Valeu, espero ter ajudado…