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

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

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

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

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

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

1. С простой Java

Давайте сначала посмотрим на простое решение Java:

@Test
public void givenUsingPlainJava_whenConvertingFileIntoReader_thenCorrect()
throws IOException {
File initialFile = new File("src/test/resources/initialFile.txt");
initialFile.createNewFile();
Reader targetReader = new FileReader(initialFile);
targetReader.close();
}

2. С гуавой

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

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

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

1. С Java

Во-первых, давайте посмотрим на простое решение Java — с использованием легкодоступного InputStreamReader :

@Test
public void givenUsingPlainJava_whenConvertingInputStreamIntoReader_thenCorrect()
throws IOException {
InputStream initialStream = new ByteArrayInputStream("With Java".getBytes());

Reader targetReader = new InputStreamReader(initialStream);

targetReader.close();
}

2. С гуавой

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

В этом кратком руководстве показано, как преобразовать Reader в byte[] , используя обычную Java, Guava и библиотеку ввода-вывода Apache Commons.

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

1. С Java

Начнем с простого Java-решения — проходим через промежуточную строку:

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

char[] charArray = new char[8 * 1024];
StringBuilder builder = new StringBuilder();
int numCharsRead;
while ((numCharsRead = initialReader.read(charArray, 0, charArray.length)) != -1) {
builder.append(charArray, 0, numCharsRead);
}
byte[] targetArray = builder.toString().getBytes();

initialReader.close();
}

Обратите внимание, что чтение выполняется порциями, а не по одному символу за раз.

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

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

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

1. С Java

Начнем с простого Java-решения, которое последовательно считывает символы из Reader :

@Test
public void givenUsingPlainJava_whenConvertingReaderIntoStringV1_thenCorrect()
throws IOException {
StringReader reader = new StringReader("text");
int intValueOfChar;
String targetString = "";
while ((intValueOfChar = reader.read()) != -1) {
targetString += (char) intValueOfChar;
}
reader.close();
}

Если есть много контента для чтения, решение для массового чтения будет работать лучше:

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

В этом кратком руководстве мы рассмотрим, как преобразовать String в Reader , сначала используя обычную Java, затем Guava и, наконец, библиотеку Commons IO.

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

1. С простой Java

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

@Test
public void givenUsingPlainJava_whenConvertingStringIntoReader_thenCorrect() throws IOException {
String initialString = "With Plain Java";
Reader targetReader = new StringReader(initialString);
targetReader.close();
}

Как видите, StringReader доступен из коробки для этого простого преобразования.

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

1. Обзор

В этом кратком руководстве мы кратко рассмотрим метод nextLine() класса java.util.Scanner , конечно, с упором на изучение его практического использования.

2. Сканер.nextLine()

Метод nextLine() класса java.util.Scanner выполняет сканирование с текущей позиции до тех пор, пока не найдет разделитель строк. Метод возвращает строку от текущей позиции до конца строки.

Следовательно, после операции положение сканера устанавливается в начало следующей строки, следующей за разделителем.

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

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

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

1. С Java

Начнем с простого решения Java :

@Test
public void givenUsingPlainJava_whenWritingReaderContentsToFile_thenCorrect()
throws IOException {
Reader initialReader = new StringReader("Some text");

int intValueOfChar;
StringBuilder buffer = new StringBuilder();
while ((intValueOfChar = initialReader.read()) != -1) {
buffer.append((char) intValueOfChar);
}
initialReader.close();

File targetFile = new File("src/test/resources/targetFile.txt");
targetFile.createNewFile();

Writer targetFileWriter = new FileWriter(targetFile);
targetFileWriter.write(buffer.toString());
targetFileWriter.close();
}

Во-первых, мы читаем содержимое Reader в строку; тогда мы просто записываем строку в файл.

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

1. Обзор

В этом очень кратком руководстве мы обсудим, как преобразовать byte[] в Writer , используя простую Java, Guava и Commons IO.

2. С простой Java

Начнем с простого Java-решения:

@Test
public void givenPlainJava_whenConvertingByteArrayIntoWriter_thenCorrect()
throws IOException {
byte[] initialArray = "With Java".getBytes();
Writer targetWriter = new StringWriter().append(new String(initialArray));

targetWriter.close();

assertEquals("With Java", targetWriter.toString());
}

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

1. Обзор

В этом руководстве мы изучим и поймем класс FileWriter , присутствующий в пакете java.io.

2. FileWriter

FileWriter — это специализированный OutputStreamWriter для записи символьных файлов . Он не предоставляет никаких новых операций, но работает с операциями, унаследованными от классов OutputStreamWriter и Writer .

До Java 11 FileWriter работал с кодировкой символов по умолчанию и размером буфера байтов по умолчанию. Однако в Java 11 представлены четыре новых конструктора, которые принимают Charset , что позволяет использовать указанный пользователем Charset . К сожалению, мы все еще не можем изменить размер байтового буфера, и он установлен на 8192.

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

1. Обзор

В этом руководстве мы дадим обзор класса File , который является частью API java.io. Класс File дает нам возможность работать с файлами и каталогами в файловой системе .

2. Создание файлового объекта

Класс File имеет 4 общедоступных конструктора. В зависимости от потребностей разработчика могут быть созданы различные типы экземпляров класса File .

  • File(String pathname) — создает экземпляр, представляющий заданный путь
  • Файл (родительская строка, дочерняя строка) — создает экземпляр, представляющий путь, образованный путем соединения родительского и дочернего путей .
  • Файл (родительский файл, дочерний элемент строки) — создает экземпляр с путем, сформированным путем объединения родительского пути, представленного другим экземпляром файла , и дочерним путем .
  • Файл (URI uri) — создает экземпляр, представляющий заданный унифицированный идентификатор ресурса.