Метод write
Метод write класса OutputStream записывает
один байт или массив байтов в выходной поток.
В первый вариант метода мы передаем целое число,
младшие 8 бит которого записываются в поток.
Во второй вариант мы передаем массив байтов.
В третий вариант мы передаем массив байтов,
начальный индекс и количество байтов для записи.
После записи данные могут оставаться в буфере,
поэтому для гарантированной отправки вызывают
метод flush.
Синтаксис
outputStream.write(int b)
outputStream.write(byte[] b)
outputStream.write(byte[] b, int off, int len)
Пример
Давайте запишем один байт в файл с помощью
FileOutputStream:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main
{
public static void main(String[] args)
{
try (OutputStream os = new FileOutputStream("test.txt"))
{
os.write(65);
os.flush();
}
catch (IOException e)
{
System.out.println("Error: " + e.getMessage());
}
}
}
В результате в файл test.txt будет записан
символ с кодом 65, то есть буква A.
Пример
Давайте запишем массив байтов в файл:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main
{
public static void main(String[] args)
{
byte[] data = "abcde".getBytes();
try (OutputStream os = new FileOutputStream("test.txt"))
{
os.write(data);
os.flush();
}
catch (IOException e)
{
System.out.println("Error: " + e.getMessage());
}
}
}
В результате в файл test.txt будет записана
строка "abcde" в виде последовательности байтов.
Пример
Давайте запишем только часть массива байтов,
начиная с индекса 1 и длиной 3:
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
public class Main
{
public static void main(String[] args)
{
byte[] data = "abcde".getBytes();
try (OutputStream os = new FileOutputStream("test.txt"))
{
os.write(data, 1, 3);
os.flush();
}
catch (IOException e)
{
System.out.println("Error: " + e.getMessage());
}
}
}
В результате в файл test.txt будет записана
строка "bcd".
Смотрите также
-
класс
OutputStream,
который является базовым для всех выходных потоков -
метод
flush,
который принудительно записывает данные из буфера -
метод
close,
который закрывает выходной поток -
класс
FileOutputStream,
который записывает байты в файл