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

22 записи с тегом "Java NIO"

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

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

1. Введение

В этом руководстве мы рассмотрим функции Java IO и то, как они изменились в разных версиях Java. Сначала мы рассмотрим пакет java.io из начальной версии Java. Далее мы рассмотрим пакет java.nio , представленный в Java 1.4. В конце мы рассмотрим пакет java.nio.file , широко известный как пакет NIO.2.

2. Пакет Java NIO

Первая версия Java была выпущена с пакетом java.io , в котором появился класс File для доступа к файловой системе. Класс File представляет файлы и каталоги и обеспечивает ограниченные операции с файловой системой. Можно было создавать и удалять файлы, проверять их существование, проверять доступ на чтение/запись и т. д.

Есть у него и некоторые недостатки:

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

1. Обзор

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

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

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

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

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

1. Введение

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

2. Использование API java.nio

Java NIO доступен начиная с Java 1.4. Java 7 представила NIO 2 , который принес много полезных функций, таких как улучшенная поддержка обработки символических ссылок, доступ к атрибутам файлов. Он также предоставил нам такие классы, как Path , Paths и Files , которые значительно упростили работу с файловой системой.

Продемонстрируем этот подход:

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

1. Обзор

В Java Path и File — это классы, отвечающие за файловые операции ввода-вывода. Они выполняют одни и те же функции, но относятся к разным пакетам.

В этом уроке мы обсудим различия между этими двумя классами. Мы начнем с краткого обзора класса. Затем мы поговорим о некоторых устаревших недостатках. Наконец, мы узнаем, как перенести функции между обоими API.

2. Класс java.io.Файл

Начиная с самых первых версий, Java предоставляет собственный пакет java.io , который содержит почти все классы, которые могут нам когда-либо понадобиться для выполнения операций ввода и вывода. Класс File является абстрактным представлением путей к файлам и каталогам :

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

1. Обзор

В этом руководстве мы рассмотрим класс DatagramChannel , который позволяет нам отправлять и получать пакеты UDP .

2. Датаграммный канал

Среди различных протоколов, поддерживаемых в Интернете, TCP и UDP являются наиболее распространенными.

В то время как TCP — это протокол, ориентированный на соединение, UDP — это протокол, ориентированный на дейтаграммы, который отличается высокой производительностью и меньшей надежностью . UDP часто используется при отправке широковещательных или групповых передач данных из-за его ненадежного характера .

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

1. Введение

В этой статье мы рассмотрим Netty — асинхронную среду сетевых приложений, управляемую событиями.

Основная цель Netty — построение высокопроизводительных протокольных серверов на основе NIO (или, возможно, NIO.2) с разделением и слабой связью компонентов сети и бизнес-логики. Он может реализовывать широко известный протокол, такой как HTTP, или ваш собственный протокол.

2. Основные концепции

Netty — это неблокирующий фреймворк. Это приводит к высокой пропускной способности по сравнению с блокирующим вводом-выводом. Понимание неблокирующего ввода-вывода имеет решающее значение для понимания основных компонентов Netty и их взаимосвязей.

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

1. Обзор

Обработка ввода и вывода — обычные задачи для Java-программистов. В этом руководстве мы рассмотрим исходные библиотеки java.io ( IO ) и более новые библиотеки java.nio ( NIO ) , а также их различия при обмене данными по сети.

2. Основные характеристики

Давайте начнем с рассмотрения ключевых особенностей обоих пакетов.

2.1. ИО — java.io

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

1. Обзор

При чтении или записи файлов нам необходимо убедиться, что используются надлежащие механизмы блокировки файлов. Это обеспечивает целостность данных в приложениях с одновременным вводом-выводом.

В этом руководстве мы рассмотрим различные подходы к достижению этой цели с помощью библиотеки Java NIO .

2. Введение в блокировки файлов

В общем, есть два типа замков :

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

1. Обзор

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

Наконец, мы также получим удобочитаемое представление размера файла.

2. Стандартный ввод-вывод Java

Начнем с простого примера вычисления размера файла — с помощью метода File.length() : ``

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

1. Обзор

В этой статье мы рассмотрим вводные части компонента Selector Java NIO .

Селектор предоставляет механизм для мониторинга одного или нескольких каналов NIO и распознавания, когда один или несколько становятся доступными для передачи данных.

Таким образом, один поток может использоваться для управления несколькими каналами и, следовательно, несколькими сетевыми подключениями.

2. Зачем использовать селектор?