1.63M
Категория: ПрограммированиеПрограммирование

Потоки ввода-вывода

1.

Потоки
ввода-вывода

2.

Базовые классы потоков вводавывода
Ввод
Байтовый
Символьный
Вывод
InputStream OutputStream
Reader
Writer

3.

Стандартные классы
File…
String…
Buffered…
Data…
Object…
…
InputStream
OutputStream
Reader
Writer

4.

Копирование файла
InputStream in;
in = new FileInputStream(“from.bin”);
OutputStream out;
out = new FileOutputStream(“to.bin”);
byte[] buff = new byte[65536];
int n;

5.

Копирование файла
while((n = in.read(buff)) != -1) {
out.write(buff, 0, n);
}
in.close();
out.close();

6.

Копирование файла
InputStream in;
in = new FileInputStream(“from.bin”);
OutputStream out;
out = new FileOutputStream(“to.bin”);
byte[] buff = new byte[65536];
int n;

7.

Копирование файла
InputStream in;
in = new FileInputStream(“from.bin”);
OutputStream out;
out = new FileOutputStream(“to.bin”);
byte[] buff = new byte[65536];
int n;

8.

Копирование файла
while((n = in.read(buff)) != -1) {
out.write(buff, 0, n);
}
in.close();
out.close();

9.

Копирование файла
while((n = in.read(buff)) != -1) {
out.write(buff, 0, n);
}
in.close();
out.close();

10.

Копирование файла
while((n = in.read(buff)) != -1) {
out.write(buff, 0, n);
}
in.close();
out.close();

11.

Буферизованный ввод-вывод
Reader r;
r = new
FileReader(“file.txt”);
BufferedReader br;
br = new BufferedReader(r);
String line;

12.

Буферизованный ввод-вывод
while((line = br.readLine())
!= null) {
System.out.println(line);
}
br.close();
//r.close();

13.

сериализация / десериализация
InputStream in;
in = new FileInputStream("file.dat");
ObjectInputStream objIn;
objIn = new ObjectInputStream(in);

14.

сериализация / десериализация
OutputStream out;
out = new FileOutputStream("file.dat");
ObjectOutputStream objOut;
objOut = new ObjectOutputStream(out);

15.

сериализация / десериализация
MyObject a;
a = (MyObject)objIn.readObject();
objOut.writeObject(a);

16.

сериализация / десериализация
class MyObject
implements Serializeable {
private int amount;
public String name;
protected double price;
static float taxTariff;
transient private double tax;
}

17.

Преобразование потоков
Reader in;
in = new FileReader(“a.txt”);
Writer out;
out = new FileWriter(“a.txt”);

18.

Преобразование потоков
InputStream in;
in = new FileInputStream(“a.txt”);
OutputStream out;
out = new FileOutputStream(“a.txt”);

19.

Преобразование потоков
InputStream in;
in = new FileInputStream(“a.txt”);
Reader r;
r = new InputStreamReader(in, “cp866”);
OutputStream out;
out = new FileOutputStream(“a.txt”);
Writer w;
w = new OutputStreamWriter(out,“UTF-8”);

20.

Форматированный ввод
Scanner sc = new Scanner(System.in);
System.out.print("строка: ");
String str = sc.nextLine();
System.out.print("целое число: ");
int n = sc.nextInt();
System.out.print("дробное число: ");
double d = sc.nextDouble();

21.

Форматированный вывод
Writer w = new FileWriter("a.txt");
PrintWriter pw = new PrintWriter(w);
pw.println("Результаты расчетов:");
pw.printf("x=%5.3f, y=%5.3f%n", x, y);
English     Русский Правила