Удаление символов спецификации с помощью Java Что должно произойти с строкой, использующей Java, как эквивалент vi s :set nobomb Предположим, что BOM происходит из файла, который я читаю. Ответ 1 Java не обрабатывает спецификацию должным образом. На самом деле Java обрабатывает спецификацию, как и все остальные char. Найдено следующее: http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html public static final String UTF8_BOM = "\uFEFF"; private static String removeUTF8BOM(String s) { if (s.startsWith(UTF8_BOM)) { s = s.substring(1); } return s; } Может быть, я бы использовал вместо apache IO: http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/BOMInputStream.html Ответ 2 Для UTF-8 спецификация: 0xEF, 0xBB, 0xBF
Ответ 1 Java не обрабатывает спецификацию должным образом. На самом деле Java обрабатывает спецификацию, как и все остальные char. Найдено следующее: http://www.rgagnon.com/javadetails/java-handle-utf8-file-with-bom.html public static final String UTF8_BOM = "\uFEFF"; private static String removeUTF8BOM(String s) { if (s.startsWith(UTF8_BOM)) { s = s.substring(1); } return s; } Может быть, я бы использовал вместо apache IO: http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/input/BOMInputStream.html