Module io

ballerina/io Ballerina library

1.8.2

Overview

The io module provides file read/write and console I/O capabilities for working with common data formats. It supports bytes, text, CSV, JSON, and XML content through both streaming and non-streaming operations.

Key Features

  • Console I/O for reading from and writing to the console
  • File read/write APIs for bytes, text, CSV, JSON, and XML content
  • Streaming APIs for processing large files without loading them entirely into memory
  • Non-streaming APIs for simpler, complete-content read/write operations

Architecture

The following diagram depicts the overview architecture of the I/O package.

Overview

The file I/O operations can be categorized further based on the serialization and deserialization types such as:

  • Bytes I/O
  • Strings I/O
  • CSV I/O
  • JSON I/O
  • XML I/O

Console I/O

The console I/O APIs, which help you to read from the console as well as write to the console are as follows.

  • io:print
  • io:println
  • io:readln

Bytes I/O

The bytes I/O APIs provide the reading and writing APIs in both streaming and non-streaming ways. Those APIs are,

  • io:fileReadBytes
  • io:fileReadBlocksAsStream
  • io:fileWriteBytes
  • io:fileWriteBlocksFromStream

Strings I/O

The strings I/O APIs provide the reading and writing APIs in 3 different ways:

  1. Read the complete file content as a string and write a given string to a file
  2. Read the complete file content as a set of lines and write a given set of lines to a file
  3. Read the complete file content as a stream of lines and write a given stream of lines to a file

The strings I/O APIs are as follows:

  • io:fileReadString
  • io:fileReadLines
  • io:fileReadLinesAsStream
  • io:fileWriteLines
  • io:fileWriteLinesFromStream

CSV I/O

The CSV I/O APIs provide the reading and writing APIs in both streaming and non-streaming ways. Those APIs are:

  • io:fileReadCsv
  • io:fileReadCsvAsStream
  • io:fileWriteCsv
  • io:fileWriteCsvFromStream

JSON I/O

The JSON I/O APIs provide the reading and writing APIs for JSON content. Those APIs are:

  • io:fileReadJson
  • io:fileWriteJson

XML I/O

The XML I/O APIs provide the reading and writing APIs for XML content. Those APIs are:

  • io:fileReadXml
  • io:fileWriteXml

Import

import ballerina/io;Copy

Other versions

See more...

Metadata

Released date: about 7 hours ago

Version: 1.8.2

License: Apache-2.0


Compatibility

Platform: java21

Ballerina version: 2201.12.0

GraalVM compatible: Yes


Pull count

Total: 1206495

Current verison: 242


Weekly downloads


Source repository


Keywords

io

json

xml

csv

file

Type/Library

Area/Built-in

Name/IO


Contributors