Lecura y escritura de archivos en java
Facultad de sistemas
Angélica Esmeralda Becerril Segovia.
Lectura y escritura en archivos
package tareas;
/*Este programa escrbe los 100 primeros numeros nturales
* de un archivo de nombre C:/misArchivos/numNaturales.txt
* Angelica Esmerala Becerril Segovia.
* 11/04/2011
*/
import java.util.*;
import java.io.*;
public classNumerosNaturalesScanner {
public static void main(String []args){
try {
FileOutputStream archivoEntrada=new FileOutputStream("C:/NumerosNaturles.txt");
PrintWriter out =new PrintWriter(archivoEntrada);
for(int i=1;i<100;i++){
out.print(i+"");
}
out.close();
System.out.println(obtenerSumaNumeros("C:/NumerosNaturales.txt"));
}catch (Exception e){
}
}
public static intobtenerSumaNumeros(String archivo)throws FileNotFoundException{
Scanner s= new Scanner(new File(archivo));
int suma =0,b;
for(int i=0;i<100;i++){
b=s.nextInt();
suma=suma+b;
}
s.close();
return suma;
}
}
package tareas;
import java.io.*;
public class NumNaturales {
public static void main (String []args){
//alamcenar los numeros del 1 al 100
try{FileOutputStream out=new FileOutputStream("numeros.txt");
for(int i=1;i<100;i++)
out.write(i);
out.close();
// aki se lee el archivo y se suma}
int suma= obtenerSumaNumerosArchivo("numeros.txt");
System.out.println("La suma es: "+suma);
}catch(IOException e){
System.out.println("Error de acceso al archivo;"+e.toString());
}
}
public static intobtenerSumaNumerosArchivo(String archivo)throws IOException{
int suma=0,n;
FileInputStream in=new FileInputStream(archivo);
while((n=in.read())!=-1)
suma +=n;
in.close();
return suma;
}
}
Resultado:
La suma es: 4950
-------------------------------------------------------------------------------
package tareas;
import java.io.*;
import java.util.Scanner;
public classNumerosNaturalesTexto {
public static void main(String args[]){
//se almacenan los numeros del 1 al 100
try{
FileOutputStream salida=new FileOutputStream("numeros.txt");
PrintWriter txt=new PrintWriter(salida);
for(int i=1;i<100;i++)
txt.println(i);
txt.close();
//se lee el archivo y se suma
int suma=obtenerSumaNumerosArchivo("numeros.txt");System.out.println("La suma es: "+suma);
}catch(IOException e){
System.out.println("Error de acceso al archivo;"+e.toString());
}
}
public static int obtenerSumaNumerosArchivo(String archivo)throws IOException{
Scanner sc=new Scanner(new File(archivo));
int suma=0;
for(int i=0;i<100;i++){
suma+=sc.nextInt();
}
sc.close();
return suma;
}
}
package tareas;import java.io.*;
public class Matriz {
public static void main(String []args)throws IOException{
byte b[][]=new byte[4][3];
int i,j,cont=1;
for (i=0;i<b.length;i++)
for(j=0;j<b[i].length;j++)
b[i][j]=(byte)cont++;
matrizAArchivo(b,"numeros.txt");
byte [][]matriz=obtenerMatrizDeArchivo("numros.txt"4,3);for(i=0;i<matriz.length;i++){
for(j=0;j<matriz[i].length;j++);
System.out.println(matriz[i][j]+"");
System.out.println();
}
}
public static void matrizAArchivo(byte [][]matriz,String archivo)throws IOException{
FileOutputStream out=new FileOutputStream (archivo);
for(int i=0;i<matriz.length;i++){
ByteArrayInputStream fila=newByteArrayInputStream(matriz[i]);
byte b;
while((b=(byte)fila.read())!=-1)
out.write(b);
}
out.close();
}
public static byte [][]obtenerMatrizDeArchivo(String archivo,int r,int c)throws IOException{
FileInputStream in=new FileInputStream(archivo);
if(in.available()!=r*c)
throw new IllegalArgumentException("Dimensiones incorrectas!");
byte [][]matriz=new byte [r][c];
int...
Regístrate para leer el documento completo.