Java
Enviado por Programa Chuletas y clasificado en Matemáticas
Escrito el en catalán con un tamaño de 9,58 KB
ACCESO SECUENCIAL LECTURA
String fich = "C:\\\\gastos.dat";
try {
// 1. Abrimos el fichero
BufferedReader br = new BufferedReader(new FileReader ( fich));
// 2. Acceso a los datos
String linea = "";
double acumulado = 0;
linea = br.readLine();
while (linea != null) {
String[] datos = linea.split(" ");
System.out.println(datos[0] + ": " + datos[1] + " EUR");
acumulado = acumulado + Double.parseDouble(datos[1]);
linea = br.readLine();
}
S ystem.out.println("Total: " + acumulado + " EUR");
// 3. Cerramos el fichero
br.close();
} catch (FileNotFoundException e) {
System.out.println(fich + " no existe!!!");
} catch (IOException e) {
System.out.println(e);
}// end try
ACCESO SECUENCIAL ESCRITURA
package Ejemplo;
import java.io.*;
public class ejemplo {
public static void main(String[] args) {
String fich = "C:\\\\gastos.dat";
BufferedReader teclado =
new BufferedReader(
new InputStreamReader(System.in));
try {
//Solicitamos los datos al usuario
System.out.print("Introduce el nuevo concepto:");
String concepto = teclado.readLine();
System.out.print("Introduce el gasto asociado:");
String gasto = teclado.readLine();
//1. Abrimos el fichero
boolean añadirAlFinal = true;
PrintWriter pw =
new PrintWriter(new BufferedWriter(
new FileWriter(fich, añadirAlFinal)));
//2. Escribimos los datos
pw.println(concepto + " " + gasto);
//3. Cerramos el fichero
pw.close() ;
} catch (IOException e) {
System.out.println(e);
}
}//end main
}//end class
HERENCIA Ejemplo1 public class Hogar extends Casa {
Familia habitantes; AnimalDomestico perro;}
}Ejemplo2Libro.java ->public class Libro { int paginas;} Diccionario.java->public class Diccionario extends Libro {
int definiciones;}Libreria.java->public class Libreria {
public static void main(String[] _args) { Diccionario collins = new Diccionario(); collins.paginas = 1500; collins.definiciones = 55200; } }
Escribir un programa Java que muestre el contenido de un directorio de manera recursiva
public class ejemplo {
public static void main(String[] args)
throws IOException {
//Directorio a listar
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Introduce el directorio: ");
String s = teclado.readLine();
//Comprobamos si es un directorio
File f = new File(s);
if (!f.isDirectory()) {
System.out.println(s + " no es un directorio!");
return;
}
//Llamada al método recursivo
dir(f, 0);
} //end main
public static void dir(File dir, int nivel) {
//Indentación según el nivel
String indentacion = "";
for (int i = 0; i < nivel; i++)
indentacion += " ";
//Listamos los ficheros y subdirectorios
File[] lista = dir.listFiles();
for (int i = 0; i < lista.length; i++) {
System.out.println(indentacion + lista[i].getName());
if (lista[i].isDirectory())
dir(lista[i], nivel + 1);} } class
Clase Moneda sin encapsular
public class Moneda {
public static final int CARA = 0;
public static final int CRUZ = 1;
public int valor;
}
Clase Moneda ENCAPSULADA
public class Moneda {
public static final int CARA = 0;
public static final int CRUZ = 1;
private int valor;
public void setValor(int v){
if (v == CARA || v == CRUZ)
valor = v;
else throw
new RuntimeException(“Valor inválido: ”+v);
}
public int getValor(){
return valor;
}
}
metodos accesores
public class ProgramaMoneda {
public static void main(String[] _args) {
Moneda m = new Moneda();
m.setValor(Moneda.CARA);
System.out.println(m.getValor());
m.valor = 3;//Dará error al compilar
m.setValor(3);//Dará error de ejecución
}
}
String fich = "C:\\\\gastos.dat";
try {
// 1. Abrimos el fichero
BufferedReader br = new BufferedReader(new FileReader ( fich));
// 2. Acceso a los datos
String linea = "";
double acumulado = 0;
linea = br.readLine();
while (linea != null) {
String[] datos = linea.split(" ");
System.out.println(datos[0] + ": " + datos[1] + " EUR");
acumulado = acumulado + Double.parseDouble(datos[1]);
linea = br.readLine();
}
S ystem.out.println("Total: " + acumulado + " EUR");
// 3. Cerramos el fichero
br.close();
} catch (FileNotFoundException e) {
System.out.println(fich + " no existe!!!");
} catch (IOException e) {
System.out.println(e);
}// end try
ACCESO SECUENCIAL ESCRITURA
package Ejemplo;
import java.io.*;
public class ejemplo {
public static void main(String[] args) {
String fich = "C:\\\\gastos.dat";
BufferedReader teclado =
new BufferedReader(
new InputStreamReader(System.in));
try {
//Solicitamos los datos al usuario
System.out.print("Introduce el nuevo concepto:");
String concepto = teclado.readLine();
System.out.print("Introduce el gasto asociado:");
String gasto = teclado.readLine();
//1. Abrimos el fichero
boolean añadirAlFinal = true;
PrintWriter pw =
new PrintWriter(new BufferedWriter(
new FileWriter(fich, añadirAlFinal)));
//2. Escribimos los datos
pw.println(concepto + " " + gasto);
//3. Cerramos el fichero
pw.close() ;
} catch (IOException e) {
System.out.println(e);
}
}//end main
}//end class
HERENCIA Ejemplo1 public class Hogar extends Casa {
Familia habitantes; AnimalDomestico perro;}
}Ejemplo2Libro.java ->public class Libro { int paginas;} Diccionario.java->public class Diccionario extends Libro {
int definiciones;}Libreria.java->public class Libreria {
public static void main(String[] _args) { Diccionario collins = new Diccionario(); collins.paginas = 1500; collins.definiciones = 55200; } }
Escribir un programa Java que muestre el contenido de un directorio de manera recursiva
public class ejemplo {
public static void main(String[] args)
throws IOException {
//Directorio a listar
BufferedReader teclado = new BufferedReader(
new InputStreamReader(System.in));
System.out.print("Introduce el directorio: ");
String s = teclado.readLine();
//Comprobamos si es un directorio
File f = new File(s);
if (!f.isDirectory()) {
System.out.println(s + " no es un directorio!");
return;
}
//Llamada al método recursivo
dir(f, 0);
} //end main
public static void dir(File dir, int nivel) {
//Indentación según el nivel
String indentacion = "";
for (int i = 0; i < nivel; i++)
indentacion += " ";
//Listamos los ficheros y subdirectorios
File[] lista = dir.listFiles();
for (int i = 0; i < lista.length; i++) {
System.out.println(indentacion + lista[i].getName());
if (lista[i].isDirectory())
dir(lista[i], nivel + 1);} } class
Clase Moneda sin encapsular
public class Moneda {
public static final int CARA = 0;
public static final int CRUZ = 1;
public int valor;
}
Clase Moneda ENCAPSULADA
public class Moneda {
public static final int CARA = 0;
public static final int CRUZ = 1;
private int valor;
public void setValor(int v){
if (v == CARA || v == CRUZ)
valor = v;
else throw
new RuntimeException(“Valor inválido: ”+v);
}
public int getValor(){
return valor;
}
}
metodos accesores
public class ProgramaMoneda {
public static void main(String[] _args) {
Moneda m = new Moneda();
m.setValor(Moneda.CARA);
System.out.println(m.getValor());
m.valor = 3;//Dará error al compilar
m.setValor(3);//Dará error de ejecución
}
}