Перейти к основному содержимому

89 записей с тегом "Java IO"

Посмотреть все теги

· 3 мин. чтения

1. Обзор

В этой статье мы рассмотрим распространенные способы копирования файлов в Java.

Во-первых, мы будем использовать стандартные API-интерфейсы IO и NIO.2 , а также две внешние библиотеки: commons-io и guava .

2. API ввода -вывода (до JDK7)

Прежде всего, чтобы скопировать файл с помощью java.io API, нам необходимо открыть поток, пройтись по содержимому и записать его в другой поток:

· 3 мин. чтения

1. Введение

В этом руководстве мы увидим, как мы используем Java для удаления содержимого файла без удаления самого файла. Поскольку есть много простых способов сделать это, давайте рассмотрим каждый по отдельности.

2. Использование PrintWriter

Класс PrintWriter языка Java расширяет класс Writer . Он печатает форматированное представление объектов в поток вывода текста.

Мы проведем простой тест. Давайте создадим экземпляр PrintWriter , указывающий на существующий файл, удалив существующее содержимое файла, просто закрыв его, а затем убедимся, что длина файла пуста:

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы покажем, как программно получить расширение файла в Java. Мы сосредоточимся на трех основных подходах к проблеме.

В наших реализациях символы после финального ' .' будет возвращен.

Поэтому, в качестве быстрого примера, если имя нашего файла jarvis.txt , тогда он вернет строку « txt» в качестве расширения файла.

2. Получение расширения файла

· 4 мин. чтения

1. Обзор

В этом руководстве мы узнаем , как найти количество строк в файле с помощью Java с помощью стандартных API ввода-вывода Java, Google Guav a и библиотеки ввода-вывода Apache Commons .

2. Файлы NIO2

Обратите внимание, что в этом руководстве мы будем использовать следующие примеры значений в качестве имени входного файла и общего количества строк:

static final String INPUT_FILE_NAME = "src/main/resources/input.txt";
static final int NO_OF_LINES = 45;

· 6 мин. чтения

1. Обзор

Когда мы работаем с файлами в Java, нам часто приходится обрабатывать имена файлов. Например, иногда мы хотим получить имя без расширения из заданного имени файла. Другими словами, мы хотим удалить расширение имени файла.

В этом уроке мы обсудим общий способ удаления расширения из имени файла.

2. Сценарии удаления расширения из имени файла

При первом взгляде на это может показаться, что удаление расширения из имени файла — довольно простая задача.

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы узнаем, как записать поток ввода Java в поток вывода Java `` . Сначала мы будем использовать базовую функциональность из Java 8 и Java 9. Затем мы рассмотрим пару внешних библиотек — Guava и библиотеку ввода-вывода Apache Commons .

Служебные методы, предоставляемые Java 9, Guava и Apache Commons IO, не очищают и не закрывают потоки. Итак, нам нужно будет управлять этими ресурсами, используя блок try-with-resources или finally .

2. Использование Java 8

Во-первых, мы начнем с создания простого метода с использованием vanilla Java для копирования содержимого из InputStream в OutputStream :

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы изучим несколько различных способов записи массива байтов Java в файл. Мы начнем с самого начала, используя пакет Java IO. Далее мы рассмотрим пример с использованием Java NIO. После этого мы будем использовать Google Guava и Apache Commons IO.

2. Java ввод/вывод

Пакет Java IO существует со времен JDK 1.0 и предоставляет набор классов и интерфейсов для чтения и записи данных.

Давайте используем FileOutputStream для записи изображения в файл:

· 3 мин. чтения

1. Обзор

В этом кратком руководстве мы рассмотрим различные способы перечисления файлов в каталоге .

2. Листинг

Если мы хотим вывести список всех файлов в каталоге и пропустить дальнейшее изучение подкаталогов, мы можем просто использовать java.io.File#listFiles :

public Set<String> listFilesUsingJavaIO(String dir) {
return Stream.of(new File(dir).listFiles())
.filter(file -> !file.isDirectory())
.map(File::getName)
.collect(Collectors.toSet());
}

· 1 мин. чтения

· 2 мин. чтения

В этом кратком руководстве мы рассмотрим преобразование из Reader в InputStream — сначала с помощью простой Java, затем с помощью Guava и, наконец, с библиотекой ввода-вывода Apache Commons.

Эта статья является частью серии «Java — Back to Basic» здесь, на ForEach.

1. С Java

Начнем с решения Java:

@Test
public void givenUsingPlainJava_whenConvertingReaderIntoInputStream_thenCorrect()
throws IOException {
Reader initialReader = new StringReader("With Java");

char[] charBuffer = new char[8 * 1024];
StringBuilder builder = new StringBuilder();
int numCharsRead;
while ((numCharsRead = initialReader.read(charBuffer, 0, charBuffer.length)) != -1) {
builder.append(charBuffer, 0, numCharsRead);
}
InputStream targetStream = new ByteArrayInputStream(
builder.toString().getBytes(StandardCharsets.UTF_8));

initialReader.close();
targetStream.close();
}

Обратите внимание, что мы одновременно читаем (и записываем) фрагменты данных.