Трудности перевода

Несколько раз пришлось столкнуться с проблемами при чтении/записи кириллицы на Java. К примеру, есть файл в кодировке UTF-8, который читается с помощью java.io.FileInputStream. В результате русские буквы портятся. Бывает, что портятся не все, а только «И» и «ш». Проблема проявляется только на Windows, классический случай — разработчик сидит на Linux: «а у меня всё работает!».

Пришло время привести в порядок базовые знания.»

04.02.2010  Метки:   Рубрики: Разработка, Языки  Один комментарий

Runtime.exec(): cygwin vs Linux

Убил несколько часов на разбирательство с простым на первый взгляд кодом:

String command = "bash -c 'ls > ls.txt'";
Process p = Runtime.getRuntime().exec( command, null, null );

С cygwin всё работает как надо: создается файл ls.txt с результатами работы ls.

Зато под Linux происходит странное:

>: -c: line 0: unexpected EOF while looking for matching `''
>: -c: line 1: syntax error: unexpected end of file

Полный откомпилированный пример здесь. Можете запустить командой 'java ExecRedirect' на своей системе.

Ну что, рассказать решение или сами подумаете? 🙂»

23.10.2007  Метки: , ,   Рубрики: Разработка  Комментариев нет

Про отладку

В коллекцию забавных происшествий при отладке программ добавилось ещё одно.»

03.07.2007  Метки: , ,   Рубрики: Разработка  Комментариев нет

Время выполнения switch в Java

Со времен господства языка C я пребывал в уверенности, что операция switch при благоприятных обстоятельствах выполняется за время, не зависящее от количества ветвей (cases). Оказалось, что бывают и неприятные исключения.»

10.06.2007  Метки:   Рубрики: Разработка, Языки  3 комментария