Documente Academic
Documente Profesional
Documente Cultură
Fluxuri de intrare/ieire
0. Suprapunerea obiectelor
Fie clasa:
class A {
... met(...) { ... }
}
import java.io.*;
import java.util.*;
class Copiere {
public static void main(String[] args) throws IOException {
Scanner sc = new Scanner(System.in);
System.out.print("Fisier cerut: ");
String fisier = sc.next();
InputStream is = null;
try { is = new FileInputStream(fisier); }
catch(FileNotFoundException e) {
System.out.println("Fisier inexistent");
System.exit(0);
}
System.out.print("Numele copiei : ");
fisier = sc.next();
OutputStream os = new FileOutputStream(fisier);
}
}
int c = 123;
while( (c=is.read()) != -1) os.write(c);
System.out.println("\nFisier copiat!");
is.close(); os.close();
Dac dorim s scriem/citim tipuri primitive sau iruri de caractere, vom folosi
clasele DataOutputStream i DataInputStream.
Exemplul 2. ntr-o prim etap vom citi de la intrarea standard un numr
natural n i apoi n numere reale; vom crea n directorul curent un fiier cu numele
out.dat n care vom scrie datele citite. ntr-o a doua etap vom citi din fiierul
out.dat valoarea n i cele n numere i le vom tipri la ieirea standard.
Prima etap este realizat de urmtorul program:
import java.io.*;
import java.util.*;
class Unu {
public static void main(String[] sir) throws Exception {
int n;
Scanner sc = new Scanner(System.in);
DataOutputStream dos = new DataOutputStream(
new FileOutputStream("out.dat"));
System.out.println("n= "); n = sc.nextInt();
dos.writeInt(n);
System.out.println("Introduceti " +n+ " numere reale:");
for(int i=0; i<n; i++) dos.writeDouble(sc.nextDouble());
dos.close();
}
=======
import java.io.*;
class Doi {
public static void main(String[] ss) throws Exception {
double d; int n;
DataInputStream dis = new DataInputStream(
new FileInputStream("out.dat") );
n = dis.readInt();
for (int i=0; i<n; i++)
System.out.print(dis.readDouble() + "\t" );
System.out.println(); dis.close();
}
}