AyudaArchivosJava
Publicado por HECTOR ENRIQUE (3 intervenciones) el 06/12/2018 04:13:59

necesito su ayuda porfa gracias a todo el que pueda ayudar
Valora esta pregunta


-2
import java.io.*;
class LeeFichero {
public static void main(String [] arg) {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;
try {
// Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File ("C:\\archivo.txt");
fr = new FileReader (archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while((linea=br.readLine())!=null)
System.out.println(linea);
}
catch(Exception e){
e.printStackTrace();
}finally{
// En el finally cerramos el fichero, para asegurarnos
// que se cierra tanto si todo va bien como si salta
// una excepcion.
try{
if( null != fr ){
fr.close();
}
}catch (Exception e2){
e2.printStackTrace();
}
}
}
}
RANCHO001 10 2 1
RANCHO002 25 5 1
RANCHO003 25 6 1
RANCHO004 27 4 1
RANCHO005 26 3 1
RANCHO006 24 2 1
1 1 0
1 1 0
1 1 0
1 1 0
2 2 0
2 1 0
2 1 0
2 1 0
2 1 0
3 1 0
3 1 0
3 1 0
3 2 0
3 1 0
3 1 0
3 1 0
linea.split("\t");
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
public class GenerarRancho {
private static GenerarRancho generarRancho;
public static final String PATH_RANCHOS_DAT = "D:\\descargas\\RANCHOS.txt";
private Map<String, Rancho> ranchos = new HashMap();
private GenerarRancho() {
File archivo;
FileReader fr = null;
BufferedReader br;
try {
archivo = new File(PATH_RANCHOS_DAT);
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null) {
Rancho r = loadRancho(linea);
ranchos.put(r.getNombre(), r);
}
} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {
if (fr != null) {
fr.close();
}
} catch (IOException e2) {
e2.printStackTrace(System.out);
}
}
}
public static GenerarRancho getInstance() {
if (generarRancho == null) {
generarRancho = new GenerarRancho();
}
return generarRancho;
}
private Rancho loadRancho(String linea) {
Rancho r = new Rancho();
String[] f = linea.split("\t");
r.setNombre(f[0]);
r.setTotalVacas(Integer.parseInt(f[1]));
r.setTotalToros(Integer.parseInt(f[2]));
r.setApPrimerAnimal(Integer.parseInt(f[3]));
return r;
}
@Override
public String toString() {
String s = "";
for (String k : ranchos.keySet()) {
Rancho v = ranchos.get(k);
s += k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal() + "\n";
}
return s;
}
public static void main(String[] args) {
System.out.println(GenerarRancho.getInstance().toString());
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class GenerarGanado {
private static GenerarGanado generarGanado;
public static final String PATH_ANIMALES_DAT = "D:\\descargas\\ANIMALES.txt";
private Map<String, Rancho> ranchos = new HashMap();
private List<String> registros;
/**
* Constructor de la clase
*/
private GenerarGanado() {
File archivo;
FileReader fr = null;
BufferedReader br;
try {
archivo = new File(PATH_ANIMALES_DAT);
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
registros = new ArrayList();
while ((linea = br.readLine()) != null) {
registros.add(linea);
Animal a = loadAnimal(linea);
String idRancho = getRanchoNameFromId(a.getIdRancho());
if (ranchos.containsKey(idRancho)) {
ranchos.get(idRancho).setTotalToros(ranchos.get(idRancho).getTotalToros() + (a.getTipo() == 2 ? 1 : 0));
ranchos.get(idRancho).setTotalVacas(ranchos.get(idRancho).getTotalVacas() + (a.getTipo() == 1 ? 1 : 0));
} else {
Rancho rancho = new Rancho();
rancho.setNombre(getRanchoNameFromId(a.getIdRancho()));
rancho.setTotalToros(a.getTipo() == 2 ? 1 : 0);
rancho.setTotalVacas(a.getTipo() == 1 ? 1 : 0);
rancho.setApPrimerAnimal(a.getSiguiente());
ranchos.put(rancho.getNombre(), rancho);
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {
if (fr != null) {
fr.close();
}
} catch (IOException e2) {
e2.printStackTrace(System.out);
}
}
}
/**
* Devuelve una instancia de la clase GenerarGanado
*
* @return
*/
public static GenerarGanado getInstance() {
if (generarGanado == null) {
generarGanado = new GenerarGanado();
}
return generarGanado;
}
/**
* Genera un objeto Animal en base a la línea que representa un registro del
* archivo ANIMALES.DAT
*
* @param linea
* @return
*/
private Animal loadAnimal(String linea) {
Animal a = new Animal();
String[] f = linea.split("\t");
a.setIdRancho(Integer.parseInt(f[0]));
a.setTipo(Integer.parseInt(f[1]));
a.setSiguiente(Integer.parseInt(f[2]));
return a;
}
private String getRanchoNameFromId(Integer id) {
String name = "RANCHO";
if (id.toString().length() < 3) {
for (int i = 0; i < 3 - id.toString().length(); i++) {
name += "0";
}
}
return name + id;
}
/**
* Devuelve un mapa con los ranchos calculados, producto de la lectura del
* archivo de ANIMALES
*
* @return
*/
public Map<String, Rancho> getRanchosCalculados() {
return ranchos;
}
@Override
public String toString() {
String s = "Ranchos:\n";
for (String k : ranchos.keySet()) {
Rancho v = ranchos.get(k);
s += k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal() + "\n";
}
s += "\n\nAnimales:\n";
for (String l : registros) {
s += l + "\n";
}
return s;
}
public static void main(String[] ags) {
System.out.println(GenerarGanado.getInstance().toString());
}
}
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
public class ActualizarRanchos {
public static ActualizarRanchos actualizarRanchos;
private final Map<String, Rancho> ranchos;
public static final String PATH_CUENTAS_DAT = "D:\\descargas\\CUENTAS.txt";
private ActualizarRanchos() {
ranchos = GenerarGanado.getInstance().getRanchosCalculados();
}
public static ActualizarRanchos getInstance() {
if (actualizarRanchos == null) {
actualizarRanchos = new ActualizarRanchos();
}
return actualizarRanchos;
}
public File getCuentas() {
FileWriter fichero = null;
PrintWriter pw;
try {
fichero = new FileWriter(PATH_CUENTAS_DAT);
pw = new PrintWriter(fichero);
ranchos.forEach((k, v) -> {
pw.println(k + "\t" + v.getTotalVacas() + "\t" + v.getTotalToros() + "\t" + v.getApPrimerAnimal());
});
} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {
if (fichero != null) {
fichero.close();
}
} catch (IOException e2) {
e2.printStackTrace(System.out);
}
}
return new File(PATH_CUENTAS_DAT);
}
public static void main(String[] args) {
ActualizarRanchos.getInstance().getCuentas();
}
}
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class Principal {
public static void main(String[] args) {
System.out.println("Primero vemamos el contenido deL archivo RANCHOS.DAT");
System.out.println(GenerarRancho.getInstance().toString());
System.out.println("-----------------------------------------------------");
System.out.println("Ahora veamos la información que nos genera la clase GenerarAnimales");
System.out.println(GenerarGanado.getInstance().toString());
System.out.println("-----------------------------------------------------");
System.out.println("Ahora generemos el archivo CUENTAS.DAT y veamos su contenido:");
File archivo;
FileReader fr = null;
BufferedReader br;
try {
archivo = ActualizarRanchos.getInstance().getCuentas();
fr = new FileReader(archivo);
br = new BufferedReader(fr);
// Lectura del fichero
String linea;
while ((linea = br.readLine()) != null) {
System.out.println(linea);
}
} catch (IOException e) {
e.printStackTrace(System.out);
} finally {
try {
if (fr != null) {
fr.close();
}
} catch (IOException e2) {
e2.printStackTrace(System.out);
}
}
}
}
RANCHO003 6 1 0
RANCHO002 4 1 0
RANCHO001 4 0 0
RANCHO001 10 2 1
RANCHO002 25 5 1
RANCHO003 25 6 1
RANCHO004 27 4 1
RANCHO005 26 3 1
RANCHO006 24 2 1
1 1 0
1 1 0
1 1 0
1 1 0
2 2 0
2 1 0
2 1 0
2 1 0
2 1 0
3 1 0
3 1 0
3 1 0
3 2 0
3 1 0
3 1 0
3 1 0
public static final String PATH_RANCHOS_DAT = "D:\\descargas\\RANCHOS.txt";
public static final String PATH_ANIMALES_DAT = "D:\\descargas\\ANIMALES.txt";
public static final String PATH_CUENTAS_DAT = "D:\\descargas\\CUENTAS.txt";