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     Русский Правила