当我使用readUTF()方法读取文件时,控制台输出会分别显示atributtes。例如,我有这段代码:
public void grabarFichero(String clave, String nombre, String edad, String sueldo)
{
int i;
String datos[] = new String[4];
datos[0] = clave;
datos[1] = nombre;
datos[2] = edad;
datos[3] = sueldo;
try
{
rafObj = new RandomAccessFile(fileName, "rw");
rafObj.seek(rafObj.length());
for(i=0; i<datos.length; i++)
{
rafObj.writeUTF(datos[i]);
}
}
}
public void leerFichero()
{
String clave, nombre, edad, sueldo;
JTextArea area = new JTextArea();
try
{
rafObj = new RandomAccessFile(fileName, "r");
rafObj.seek(0);
rafObj.seek(0);
while(rafObj.getFilePointer()<rafObj.length())
{
System.out.println(rafObj.readUTF());
}
}
所以,输出是这样的:
AF
Amaro
25
1500
LO
Bea
45
6258
使用RandomAccesFile类是必不可少的,但问题是如果我搜索(&#34; clave:AF&#34;例如),程序必须返回&#34; nombre:Amaro&#34;,&# 34; edad:25&#34;和&#34; sueldo:1500&#34;。 如果我搜索(&#34; clave:LO&#34;),程序必须返回&#34; nombre:Bea&#34;,&#34; edad:45&#34;和&#34; sueldo:6258&#34;。