Основы программирования на языке Java. Сухов С.А. - 37 стр.

UptoLike

Составители: 

40
System.out.println( "Осталось доступными: " + f1.available());
System.out.println("Читаем 1/16 часть в конец массива");
if (f1.read(b, b.length-size/16, size/16) != size/16) {
System.err.println("Ошибка");
}
System.out.println("Осталось доступно: " + f1.available());
f1.close();
}}
4.6.2. FileOutputStream
У класса FileOutputStream – два таких же конструктора, что и у
FileInputStream. Однако, создавать объекты этого класса можно независимо от
того, существует файл или нет. При создании нового объекта класс
FileOutputStream перед тем, как открыть файл
для вывода, сначала создает его.
В очередном нашем примере символы, введенные с клавиатуры, считываются
из потока System.in – по одному символу за вызов, до тех пор, пока не
заполнится 12-байтовый буфер. После этого создаются три файла. В первый из
них, file1.txt, записываются символы из буфера, но не все, а через один
нулевой, второй и
так далее. Во второй, file2.txt, записывается весь ввод,
попавший в буфер. И наконец в третий файл записывается половина буфера,
расположенная в середине, а первая и последняя четверти буфера не выводятся.
import java.io.*;
class FileOutputStreamS {
public static byte getlnput()[] throws Exception {
byte buffer[] = new byte[12];
for (int i=0; i<12; i++) {
buffer[i] = (byte) System.in.read();
}
return buffer;
}
public static void main(String args[]) throws Exception {
byte buf[] = getlnput();
OutputStream f0 = new FileOutputStream("file1.txt");
OutputStream f1 = new FileOutputStream("file2.txt");
OutputStream f2 = new FileOutputStream("file3.txt");
for (int i=0; i < 12; i += 2) {
f0.write(buf[i]);
}
f0.close();
f1.write(buf);
f1.close();