import java.io.*;
public class EjemplAccesoAleatorio{
public static void main(String[] args) {
char c;
boolean finArchivo = false;
RandomAccessFile archivo = null;
try{
archivo = new RandomAccessFile("D:\\prueba.txt", "rw");
System.out.println("El tamaño del archivo es: " + archivo.length());
do{
try{
c = (char)archivo.readByte();
if (c == 'b'){
archivo.seek(archivo.getFilePointer()-1);
archivo.writeByte(Character.toUpperCase(c));
}
}
catch(EOFException e){
finArchivo = true;
archivo.close();
System.out.println("Todas las b convertidas a mayúsculas");
}
}while(!finArchivo);
}
catch(FileNotFoundException e){
System.out.println("El archivo no existe");
}
catch(IOException e){
System.out.println("Se produjo un error con el archivo");
}
}
}
Repasando AD -> RandomAccessFile
La clase RandomAccessFile tiene todas las propiedades de las clases DataInputStream y DataOutputStream; permite abrir un archivo como lectura o como lectura y escritura simultáneamente de cualquier tipo de datos primitivo. Si se utiliza para lectura (modo “r”) dispone de métodos como: readInt(), readLong(), readDouble(), readLine()… Si se utiliza como lectura/escritura (modo “rw”) dispone de métodos como writeInt(), writeLong(), writeDouble(), writeBytes()…
0 comentarios:
Publicar un comentario