Está en la página 1de 18

ACCESO ALEATORIO A ARCHIVOS EN JAVA

Antes de iniciar veamos: Ejemplo 01 sin Try-Catch


Ejemplo 01 sin Try-Catch
Ejemplo 02 usando Try-Catch
Ejemplo 03 usando Try-Catch
Ejemplo 03 usando Try-Catch (Salida del Programa)
ACCESO ALEATORIO A ARCHIVOS EN JAVA
Ejemplo 01

El siguiente programa en Java permite ir leyendo carácter a carácter un archivo. Lo que hace es
convertir a mayúsculas todos los caracteres que encuentre.
Ejemplo 01

Vamos a utilizar el software BlueJ, a continuación un esquema de la clase principal del programa
Ejemplo01 y su respectiva salida al lado derecho.

Descargar el software de la siguiente url: https://www.bluej.org/versions.html


Ejemplo 01

archivo = new RandomAccessFile("ejemplo01.txt", "rw");

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
u n i v e r s i d a d

caracter= (char) archivo.readByte();

u
Ejemplo 01

archivo = new RandomAccessFile("ejemplo01.txt", "rw");

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
u n i v e r s i d a d

u
Ejemplo 01

archivo = new RandomAccessFile("ejemplo01.txt", "rw");


archivo.seek(archivo.getFilePointer()-1);
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
u n i v e r s i d a d

u
Ejemplo 01

archivo = new RandomAccessFile("ejemplo01.txt", "rw");


archivo.seek(archivo.getFilePointer()-1);
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
u n i v e r s i d a d

U archivo.writeByte(Character.toUpperCase(c));

u
Ejemplo 01

archivo = new RandomAccessFile("ejemplo01.txt", "rw");

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
u n i v e r s i d a d

N archivo.writeByte(Character.toUpperCase(c));

n
Ejemplo 01
¿Cuál será la salida del siguiente programa?
ALGORITMO DE ORDENAMIENTO POR SELECCIÓN
El método de ordenación por selección consiste en repetir los siguientes pasos:
1. Se busca el elemento más pequeño del array y se coloca en la primera posición.
2. Entre los restantes, se busca el elemento más pequeño y se coloca en la segunda posición.
3. Entre los restantes se busca el elemento más pequeño y se coloca en la tercera posición.
Este proceso se repite hasta colocar el último elemento.

De forma gráfica el proceso sería el siguiente:

50 26 7 9 15 27 Array original

7 26 50 9 15 27 Se coloca el 7 en la primera posición. Se intercambian 7 y 50.

9 50 26 15 27 Se coloca el 9 en la segunda posición. Se intercambian 9 y 26.

15 26 50 27 Se coloca el 15 en la tercera posición. Se intercambian 15 y 50.

26 50 27 El menor de los que queda es 26. Se deja en su posición.

27 50 Se coloca el 27 en la quinta posición. Se intercambian 27 y 50.


ALGORITMO DE ORDENAMIENTO POR SELECCIÓN
//método java de ordenación por selección
i = 0; i < A.length - 1; i++
public static void seleccion(int A[]) {
j = i + 1; j < A.length; j++ int i, j, menor, pos, tmp;

for (i = 0; i < A.length - 1; i++) {


50 26 7 9 15 27 menor = A[i]; Tomamos como menor el primero de los elementos
pos = i; que quedan por ordenar y guardamos su posición
7 26 50 9 15 27
for (j = i + 1; j < A.length; j++){
9 50 26 15 27 if (A[j] < menor) {
menor = A[j]; Buscamos en el resto del array algún
15 26 50 27 pos = j; elemento menor que el actual
}
26 50 27 }

27 26 if (pos != i){ Si hay alguno menor se intercambia


tmp = A[i];
A[i] = A[pos];
A[pos] = tmp;
}
}
}
Tarea

1. Proponer un ejercicio sin Try-Catch


2. Proponer un ejercicio usando Try-Catch
3. Proponer un ejercicio con acceso aleatorio a archivos (similar al
resuelto por el docente)
4. Escribir un programa en C++ que permita ordenar por selección un
arreglo de enteros
5. Escribir un programa en C++ que permita ordenar por selección un
arreglo de cadenas.
6. Elaborar una presentación (*.ppt) mediante el cual usted explique el
algoritmo de selección paso a paso.

También podría gustarte