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