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)
IOException
public static Charset detectBomEncoding(InputStream inputStream) throws IOException
inputStream
- strumień danychnull
jeżeli taki znacznik nie istnieje.IOException
Copyright © 2019 Suncode. All rights reserved.