- java.lang.Object
-
- de.siegmar.fastcsv.reader.BomUtil
-
final class BomUtil extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static intPOTENTIAL_BOM_SIZEThe maximum number of bytes a BOM header can have.
-
Constructor Summary
Constructors Modifier Constructor Description privateBomUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.util.Optional<BomHeader>detectCharset(byte[] buf)Detects the character encoding of a byte array based on the presence of a Byte Order Mark (BOM) header.(package private) static java.util.Optional<BomHeader>detectCharset(java.nio.file.Path file)Detects the character encoding of a file based on the presence of a Byte Order Mark (BOM) header.(package private) static java.io.ReaderopenReader(java.nio.file.Path file, java.nio.charset.Charset defaultCharset)Opens a Reader for the given file, skipping a BOM header if present.
-
-
-
Field Detail
-
POTENTIAL_BOM_SIZE
static final int POTENTIAL_BOM_SIZE
The maximum number of bytes a BOM header can have.- See Also:
- Constant Field Values
-
-
Method Detail
-
detectCharset
static java.util.Optional<BomHeader> detectCharset(byte[] buf)
Detects the character encoding of a byte array based on the presence of a Byte Order Mark (BOM) header. The method supports the following BOM headers:- UTF-8 : EF BB BF
- UTF-16 BE: FE FF
- UTF-16 LE: FF FE
- UTF-32 BE: 00 00 FE FF
- UTF-32 LE: FF FE 00 00
See Byte order mark
- Parameters:
buf- the byte array to detect the character encoding from- Returns:
- an Optional containing the detected BomHeader if a BOM header is found, or an empty Optional if no BOM header is found
-
detectCharset
static java.util.Optional<BomHeader> detectCharset(java.nio.file.Path file) throws java.io.IOException
Detects the character encoding of a file based on the presence of a Byte Order Mark (BOM) header.- Parameters:
file- the file to detect the character encoding from- Returns:
- an Optional containing the detected BomHeader if a BOM header is found, or an empty Optional if no BOM header is found
- Throws:
java.io.IOException- if an I/O error occurs reading the file
-
openReader
static java.io.Reader openReader(java.nio.file.Path file, java.nio.charset.Charset defaultCharset) throws java.io.IOExceptionOpens a Reader for the given file, skipping a BOM header if present. If no BOM header is present, the defaultCharset is used.- Parameters:
file- the file to open a Reader fordefaultCharset- the default charset to use if no BOM header is present- Returns:
- a Reader for the given file
- Throws:
java.io.IOException- if an I/O error occurs opening the file
-
-