Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
Realizar un programa en java que lea un archivo linea a linea, donde cada linea sea un dato numérico y realice la suma y el promedio de este conjunto de datos.
Leer y escribir un archivo de texto en java no es muy complicado, en resumen es un proceso muy similar a leer y escribir texto escrito del teclado
Una de las maneras de poder mejor el flujo de datos, en cuestión de caracteres es utilizando la clase PrintWriter del API de java el cual ofrece métodos para poder manipular mejor el flujo de datos
//importando paquetes de clases.
import java.io.*;
//Creando la clase
public class EscribirArchivo
{
public static void main(String a[]) throws Exception
{
//Nuevo FileWriter y creando el PrintWriter.
FileWriterfW = new FileWriter("archivoParaEscribir.txt");
PrintWriterpW = new PrintWriter(fW);
/*Escribiendo una cadena*/
pW.println("Esta es una cadena");
/*Escribiendo datos enteros*/
for(int x=1;x<=255;x++)
{pW.println(x);}
/*Cerramos el flujo*/
pW.close();
}
}
La manera en que se puede tener acceso al flujo de escritura de archivos en java es con la clase FileWriter, la cual crea un flujo hacia el archivo deseado, de tal manera que si este no existe es creado, y desde el constructor podemos especificar si el flujo de datos sera agregado al final del archivo o el archivo sera creado nuevamente.
//importando paquetes de clases.
import java.io.*;
//Creando la clase
public class EscribirArchivo
{
public static void main(String a[]) throws Exception
{
//Nuevo FileWriter
FileWriter fW = new FileWriter("archivoParaEscribir.txt");
/*Se escribe lo deseado en el archivo utilizando el método write y
enviando como parámetro una cadena de caracteres.*/
fW.write("Hola\n");
fW.write("Como\n");
fW.write("estas\n");
/*Se usa el método write y pasando como parámetro un dato de tipo entero.*/
fW.write("Estos son los caracteres UNICODE:\n");
for(int x=1;x<=255;x++)
{fW.write(x);}
//Cerramos el archivo
fW.close();
}
}
Este objeto se apoya en FileReader para poder leer el archivo, solo que en esta ocasión lo realiza linea a linea del archivo.
import java.io.*;
public class LeerArchivoMejorado
{
public static void main(String args[]) throws IOException
{
String cad = null;
FileReader fr = new FileReader("archivo.txt");
BufferedReader br = new BufferedReader(fr);
while((cad=fr.readLine()) != null)
{
System.out.print((char)c);
}
fr.close();
}
}
Para poder recuperar información de un archivo de texto, es necesario primeramente crear un objeto FileReader asociado al mismo.
Un objeto FileReader representa un fichero de texto "abierto" para la lectura de datos.
Este objeto es capaz de adaptar la información recuperada del fichero a las características de una aplicación Java, transformando los bytes almacenados en el mismo en caracteres unicode.
import java.io.*;
public class LeerArchivo
{
public static void main(String args[]) throws IOException
{
int c = 0;
FileReader fr = new FileReader("archivo.txt");
while((c=fr.read()) != -1)
{
System.out.print((char)c);
}
fr.close();
}
}
Instancia de la clase PrintStream el cual es un flujo de datos de salida
Métodos:
print() y println()
permiten escribir en pantalla un flujo de bytes
Instancia de la clase InputStream el cual es un flujo de datos de entrada
Métodos:
read() -> permite leer un byte de la entrada como entero.
skip(int n) -> ignora n bytes de la entrada.
available -> número de bytes disponibles para leer en la entrada.
Flujo estándar de Entrada: el teclado.
Flujo estándar de Salida: la consola.
Los flujos estándar de entrada y salida siempre están abiertos mientras se ejecuta el programa, listos para proporcionar datos (entrada) o para mostrar datos (salida).