私は小さな検索メソッドを作成しようとしていますが、今までは int 型のみを検索するメソッドを持っていましたが、このメソッドを再実装して文字列を検索することができるかどうか疑問に思っていましたか?
//Searches only ints
public void buscarCliente_Codigo(int cod) throws IOException{ /*cod is for the input
for eg. a textfield input which im using*/
try{
RandomAccessFile f = new RandomAccessFile("Clientes.txt","rw"); //.txt File name
boolean encontrado=false;
registroExistente = false ;
long bytes = 0;
do{
codigo = f.readInt();
nombre = leerNombre(f); //Reads String
numTelefono = leerNumTelefono(f);
direccion = leerDireccion(f);
seguro = leerSeguro(f);
nacionalidad = leerNacionalidad(f);
cedula = leerCedula(f);
if(cod==codigo){
iCodigoBusqueda = codigo;
encontrado=true;
registroExistente = true;
break;
}else{
iCodigoBusqueda = 0; //Type int
registroExistente = false;
}
bytes +=1;//Changes
f.seek(bytes);
}
while(bytes<f.length());
f.close();
} catch (Exception e){
registroExistente = false;
JOptionPane.showMessageDialog(null,"Data not found");
}
}
その後、いくつかの .getText をコーディングするだけで、数値のみで動作する美しい検索メカニズムができましたが、文字列を検索するメソッドが本当に必要なので、2、3 の調整を行いました。
**enter code here**
public void buscarCliente_Nombre(String nom) throws IOException{ //change to String
try{
RandomAccessFile f = new RandomAccessFile("Clientes.txt","rw");
boolean encontrado=false;
registroExistente = false ;
long bytes = 0;
do{
codigo = f.readInt();
nombre = leerNombre(f);
numTelefono = leerNumTelefono(f);
direccion = leerDireccion(f);
seguro = leerSeguro(f);
nacionalidad = leerNacionalidad(f);
cedula = leerCedula(f);
if(nom.equals(nombre)){
iNombreString = nombre;
encontrado=true;
registroExistente = true;
break;
}else{
iNombreString = ""; //String type
registroExistente = false;
}
bytes +=1;//cambios
f.seek(bytes);
}
while(bytes<f.length());
f.close();
} catch (Exception e){
registroExistente = false;
JOptionPane.showMessageDialog(null,"Data not found");
}
}
動作しません。例外が発生します。
とにかく、このコードが Strings_ で機能することはありますか?
ありがとう