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

UptoLike

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

39
4.6. Файловые потоки
4.6.1. FilelnputStream
Класс FileInputStream используется для ввода данных из файлов.
В приведенном ниже примере создается два объекта этого класса,
использующие один и тот же дисковый файл.
InputStream f0 = new FileInputStream("/autoexec.bat");
File f = new File("/autoexec.bat"):
InputStream f1 = new FileInputStream(f);
Когда создается объект класса FileInputStream, он одновременно с этим
открывается для чтения. FileInputStream замещает шесть методов абстрактного
класса InputStream. Попытки применить к объекту
этого класса методы mark и
reset приводят к возбуждению исключения IOException. В приведенном ниже
примере показано, как можно читать одиночные байты, массив байтов и
поддиапазон массива байтов. В этом примере также показано, как методом
available можно узнать, сколько еще осталось непрочитанных байтов, и как с
помощью метода skip можно пропустить те байты, которые вы
не хотите
читать.
import java.io.*;
import java.util.*;
class FileInputStreamS {
public static void main(String args[]) throws Exception {
int size;
InputStream f1 = new FileInputStream("www.root.com/default.htm");
size = f1.available();
System.out.println("Всего доступно байтов: " + size);
System.out.println("Читаем первую 1/4 часть файла");
for (int i=0; i < size/4; i++) {
System.out.print((char) f1.read());
}
System.out.println("Теперь доступно : " + f1.available());
System.out.println("Читаем следующую 1/8 часть ");
byte b[] = new byte[size/8];
if (f1.read(b) != b.length) {
System.err.println("Ошибка");
}
String tmpstr = new String(b, 0, 0, b.length);
System.out.println(tmpstr);
System.out.println("Осталось доступным: " + f1.available());
System.out.println("Пропустить следующую 1/4 часть");
f1.skip(size/4);