Abrir archivo y modificación a Mayúsculas

Soy estudiante universitario y se me presenta la siguiente asignación.
Necesito realizar una aplicación en JAVA, Netbeans 6.1, donde debo abrir un archivo en txt, y modificar el contenido del mismo a MAYÚSCULAS, pero no tengo la más mínima idea de como se hace, le agradezco enormemente si me puede echar una manita con el código o con una luz de como se realiza ese proceso.
Quedo a la espera de su respuesta y agradezco su atención
Respuesta
1
Tienes que conseguir abrir el fichero esto se hace con las clases de lectura y escritura de ficheros (File, FileInputStream...).
Tienes que crear un fichero de lectura, obtener el texto y luego con el método toUpperCase pasar este texo a mayúscula. Una vez que hagas esto pues crear un fichero de escritura y escribir el texto en mayúsculas. Es algo como
File fichero = new File(<ruta del fichero>);
FileInputStream fis = new FileInputStream(file).
String texto = fis.read();
String textoFormateado = texto.toUpperCase();
FileOutputStream fos = new FileOutputStream(file);
file.write(textoFormateado);
Es algo como eso, no exactamente así porque esto lo he hecho con lo que me acordaba más o menos, ten en cuenta que esto lanza excepciones que tienes que controlar, y además, no olvides cerrar el fichero una vez que escribas o leas.
Espero que esto te sirva un poco aunque deberías ver como funcionan las clases de acceso a fichero porque no solo existen estas.

2 respuestas más de otros expertos

Respuesta
1
Te mando el código para tu objetivo, solo es cuestión de que crees tu clase y le pegues este método y lo ejecutes.
Nota: No olvides crear el archivo prueba.txt con el contenido en minúsculas enla ruta correspondiente.
No se te olvide califiacarme
Bye.
public static void main(String[] args)
{
StringBuffer sb=null;
String nombreArchivo="c:/prueba.txt";
try{
/**
* creamos el archivo a leer
*/
File file = new File(nombreArchivo);
/**
* Variable para almacenar cada una de las lineas del archivo que se estan leyendo */
String lineaDeTexto = null;
/**
* br que se encarga de leer el archivo de texto.
* el constructor de la clase BufferedReader recibe como parametro un objeto FileReader,
* que a s vez recibio el objeto File creado al inicio.
*/
BufferedReader br = new BufferedReader(new FileReader(file));
/**Creamos el objeto para almacenar el contenido del archivo*/
sb=new StringBuffer();
/**
* Ciclo para que el BufferReader lea todo el archivo y lo acumule en un objeto sb de StringBuffer
*/
while ((lineaDeTexto = br.readLine()) != null) {
sb.append(lineaDeTexto);
}
//imprimimos la informacion leida del archivo
System.out.println("Contenido del archivo " +nombreArchivo+" : "+sb.toString());
/** cerramos el buffer leido*/
br.close();
}catch (FileNotFoundException e){
//cachar excepcion
System.out.println(" No se encontro el archivo en la rutra:"+nombreArchivo +". Es necesario crear un archivo." );
}catch (IOException e){
//cachar excepcion
}
try {
/**
* Se crea un objeto FileWriter con el nombre del archivo que deseas modificar
* El segundo parametro contiene un valore booleano false que
* indica si la informacion recibida debe ser agregada el final del
* archivo o reemplazar la informaciòn contenida en el archivo, en este caso reemplazar .*/
FileWriter fw = new FileWriter(nombreArchivo, false);
/**Convertimos el objeto sb a objeto String*/
String contenido=sb.toString();
/**Al objeto contenido le aplicamo la función toUpperCase() de la clase Strinf para convertir a mayusculas*/
/**Si quieres regresar a mayúsculas aplica la función toLowerCase() de la clase String para convertir a minusculas*/
String contenidoEnMayusculas=sb.toString().toUpperCase();
/** Reemplazamos el contenido del archivo por el contenido que trae contenidoEnMayusculas*/
fw.write(contenidoEnMayusculas);
/** NOTA: La clase String contiene varios de métodos para trabajar con cadenas de caracteres
* echale un viztazo
* */
/** cerrar el archivo */
fw.close();
} catch (IOException ioe) {
//cachar y manejar excepcion
}
}
Excelente respuesta experto, da gusto cuando topa uno con la suerte de encontrar personas como usted, muchas gracias.
Una última pregunta, cual es la funcionalidad de:
}catch (IOException e){
} catch (IOException ioe) {
Creo por lo que he escuchado, se debe al manejo de excepciones, pero no estoy muy familiarizado con el tema, le agradezco enormemente me lo pueda explicar un poco.
De nuevo le reitero mi agradecimiento.
Saludos cordiales.
IOException sucede cuando ocurre un error de entrada y salida, por ejemplo estas leyendo un archivo desde un servidor web, este pierde la conexión y queremos volver a escribir el nuevo contenido en el archivo, esto generaría un error de Entrada y Salida, entonces para esto se nos pide cacharlos y manejarlos volviéndolos a relanzarlos pero con un mensaje más particular por ejemplo:
El archivo prueba.txt por el momento no se encuentra disponible, inténtelo de nuevo.
Y ya en el código quedaría a si.
try{
   //trabajando con archivos
} catch (IOException ioe) {
     throw new InfoArchivoNoDisponibleExcepcion("El archivo prueba.txt por el momento...bla bla bla");
}
Oviamante tu crearrias la clase exception de informacion InfoArchivoNoDisponibleException que extienda de Exception con sus respectivos constructores y de esta forma puedes crear tus propias excepciones mas personalizadas.
Siempre que trabajes con archivos te vas a topar con esta clase de excepciones.
Respuesta
1
Para abrir un fichero:
FileReader fr = new FileReader("fichero.txt");
BufferedReader bf = new BufferedReader(fr);
while ((sCadena = bf.readLine())!=null) {
    // en este bucle es donde podemos ir pasando a mayúsculas lo que leemos del fichero
}
En cuanto a una función que pase a mayúsculas, no se si en la clase String hay alguna, pero no tiene que ser muy difícil

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas