4.6.2. FileOutputStream

У класса FileOutputStream - два таких же конструктора, что и у FilelnputStream. Однако, создавать объекты этого класса можно независимо от того, существует файл или нет. При создании нового объекта класс FileOutputStream перед тем, как открыть файл для вывода, сначала создает его. В очередном нашем примере символы, введенные с клавиатуры, считываются из потока System.in - по одному символу за вызов, до тех пор, пока не заполнится 12-байтовый буфер. После этого создаются три файла. В первый из них, filel.txt, записываются символы из буфера, но не все, а через один -нулевой, второй и так далее. Во второй, file2.txt, записывается весь ввод, попавший в буфер. И наконец в третий файл записывается половина буфера, расположенная в середине, а первая и последняя четверти буфера не выводятся.

import javaio.*;

class FileOutputStreamS {

public static byte getlnput()[] throws Exception {

byte buffer[] = new byte[12];

for(inti=0; i<12; i++) {

buffer[i] = (byte) System. in.readO;

}

return buffer; }

public static void main(String args[]) throws Exception { byte buf[] = getlnputO;

OutputStream fO = new FileOutputStream("filel.txt"); OutputStream fl = new FileOutputStream("file2.txt"); OutputStream f2 = new FileOutputStream("file3.txt"); for(int i=0;i< 12; і+=2) { f0.write(buJE[i]);

}

f0.close();

fl.write(buf);

fl.closeQ;

f2.write(buf, 12/4,12/2);

f2.close();

}}