public abstract class FileEncodingUtils extends Object
| Constructor and Description |
|---|
FileEncodingUtils() |
| Modifier and Type | Method and Description |
|---|---|
static Charset |
detectBomEncoding(InputStream inputStream)
Funkcja odczytuje kodowanie na podstawie znacznika BOM zawartego na początku strumienia.
|
static Charset |
detectXmlEncoding(File xmlFile)
Wykrywa kodowanie pliku xml na podstawie przesłanek zawartych na stronie:
Extensible Markup Language (XML) 1.0 w rozdziale
Autodetection of Character Encodings
|
static Charset |
detectXmlEncoding(InputStream inputStream)
Wykrywa kodowanie pliku xml na podstawie przesłanek zawartych na stronie:
Extensible Markup Language (XML) 1.0 w rozdziale
Autodetection of Character Encodings
Odczytanie kodowania pliku musi być jak najszybsze, dlatego plik nie jest parsowany.
|
public static Charset detectXmlEncoding(File xmlFile) throws IOException
xmlFile - dowolny plik xmlCharset.defaultCharset()IOException#detectXmlEncoding(InputStream)}public static Charset detectXmlEncoding(InputStream inputStream) throws IOException
Odczytanie kodowania pliku musi być jak najszybsze, dlatego plik nie jest parsowany.
Ustalenie kodowania pliku xml przebiega następująco:
1. sprawdzany jest znacznik BOM, jeżeli znacznik taki jest obecny, zwracane jest kodowanie zapisane w tym znaczniku
2. odczytywana jest rodzina kodowania, potrzebna do odczytania definicji pliku xml w postaci:
3. na podstawie wykrytego kodowania odczytywany jest atrybut encoding nagłówka
Jeżeli któraś z operacji się nie powiedzie, zwracane jest domyślne kodowanie JVM Charset.defaultCharset().
inputStream - strumień pliku xml. Strumień musi wspierać metodę InputStream.mark(int)IOExceptionpublic static Charset detectBomEncoding(InputStream inputStream) throws IOException
inputStream - strumień danychnull jeżeli taki znacznik nie istnieje.IOExceptionCopyright © 2023 Suncode. All rights reserved.