- Extending Qt Creator Manual
- QtCreator
- TextFileFormat
- Extending Qt Creator Manual 16.0.0-beta2

# TextFileFormat Class

class Utils::TextFileFormat

The TextFileFormat class describes the format of a text file and provides autodetection. More...

Header: | `#include <TextFileFormat>`

- List of all members, including inherited members

## Public Functions

bool | decode(const QByteArray &data, QString *target) const
bool | decode(const QByteArray &data, QStringList *target) const
bool | writeFile(const Utils::FilePath &filePath, QString plainText, QString *errorString) const

## Static Public Members

QByteArray | decodingErrorSample(const QByteArray &data)
Utils::TextFileFormat | detect(const QByteArray &data)
Utils::TextFileFormat::ReadResult | readFile(const Utils::FilePath &filePath, const QTextCodec *defaultCodec, QString *plainText, Utils::TextFileFormat *format, QString *errorString, QByteArray *decodingErrorSample = nullptr)
Utils::TextFileFormat::ReadResult | readFile(const Utils::FilePath &filePath, const QTextCodec *defaultCodec, QStringList *plainTextList, Utils::TextFileFormat *format, QString *errorString, QByteArray *decodingErrorSample = nullptr)

## Detailed Description

The format comprises

- Encoding represented by a pointer to a QTextCodec
- Presence of an UTF8 Byte Order Marker (BOM)
- Line feed storage convention

The class also provides convenience functions to read text files and return them as strings or string lists and to write out files.

## Member Function Documentation

### bool TextFileFormat::decode(const QByteArray &data, QString *target) const

Returns data decoded to a plain string, target.

### bool TextFileFormat::decode(const QByteArray &data, QStringList *target) const

Returns data decoded to a list of strings, target.

Intended for use with progress bars loading large files.

### `[static]` QByteArray TextFileFormat::decodingErrorSample(const QByteArray &data)

Returns a piece of text specified by data suitable as display for an encoding error.

### `[static]` Utils::TextFileFormat TextFileFormat::detect(const QByteArray &data)

Detects the format of text data.

### `[static]` Utils::TextFileFormat::ReadResult TextFileFormat::readFile(const Utils::FilePath &filePath, const QTextCodec *defaultCodec, QString *plainText, Utils::TextFileFormat *format, QString *errorString, QByteArray *decodingErrorSample = nullptr)

Reads a text file from filePath into a string, plainText using defaultCodec and text file format format.

Returns whether decoding was possible without errors. If an errors occur errorString is set to the error message, and decodingErrorSample is set to a snippet that failed to decode.

### `[static]` Utils::TextFileFormat::ReadResult TextFileFormat::readFile(const Utils::FilePath &filePath, const QTextCodec *defaultCodec, QStringList *plainTextList, Utils::TextFileFormat *format, QString *errorString, QByteArray *decodingErrorSample = nullptr)

Reads a text file from filePath into a list of strings, plainTextList using defaultCodec and text file format format.

Returns whether decoding was possible without errors. If an errors occur errorString is set to the error message, and decodingErrorSample is set to a snippet that failed to decode.

### bool TextFileFormat::writeFile(const Utils::FilePath &filePath, QString plainText, QString *errorString) const

Writes out a text file to filePath into a string, plainText.

Returns whether decoding was possible without errors. If errors occur, returns an error message, errorString.