Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Аргумент коммандной строки в KOI8_R how? / 7 сообщений из 7, страница 1 из 1
03.07.2006, 10:15
    #33826632
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
такой код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
     public   static   void  main(String arg[])  throws  Throwable {
        System.out.println("-- from file ");
        // просто выводим байты
        Test.print_stack(readBytes("/mnt/pstuff/koi8"));
        // читаем байты из потока
        System.out.println( new  String(readBytes("/mnt/pstuff/koi8")));
        
        System.out.println("-- from arg");
        // просто выводим байты
        Test.print_stack(arg[ 0 ].getBytes());
        System.out.println(arg[ 0 ]);
     }

т.к.
Код: plaintext
1.
2.
$ locale
LANG=en_US.UTF- 8 
а аргумент идет в KOI8, то говорю JVM использовать -Dfile.encoding=koi8-r

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
$ java -Dfile.encoding=koi8-r -classpath .:dist/test.jar Test `cat /mnt/pstuff/koi8`
-- from file
- 21  - 17  - 23   45   56 
КОИ- 8 
-- from arg
 63   63   63   45   56 
???- 8 

Почему из файла поток читается нормально, а из аргументов криво?
...
Рейтинг: 0 / 0
03.07.2006, 10:56
    #33826748
BlackWall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
Потому что переменная окружения file.encoding определяет исключительно кодировку файла.
...
Рейтинг: 0 / 0
03.07.2006, 11:27
    #33826841
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
BlackWallПотому что переменная окружения file.encoding определяет исключительно кодировку файла.ок. а как быть с аргументом?
...
Рейтинг: 0 / 0
03.07.2006, 11:54
    #33826941
AciD_v
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
zirexа как быть с аргументом?
Код: plaintext
1.
System.out.println(  new  String(arg[ 0 ].getBytes(), "koi8-r") );
...
Рейтинг: 0 / 0
03.07.2006, 12:40
    #33827161
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
AciD_v zirexа как быть с аргументом?
Код: plaintext
1.
System.out.println(  new  String(arg[ 0 ].getBytes(), "koi8-r") );

не поможет - входящий поток уже испорчен.
...
Рейтинг: 0 / 0
03.07.2006, 19:29
    #33828674
BlackWall
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
Как вариант, конвертировать на входе, т.е. в shell-скрипте или bat-файле
...
Рейтинг: 0 / 0
04.07.2006, 07:32
    #33828983
zirex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Аргумент коммандной строки в KOI8_R how?
Пока придумалось так:
Код: plaintext
1.
2.
3.
4.
....
BufferedReader stdin =  new  BufferedReader( new  InputStreamReader(System.in));
String s = stdin.readLine();
....

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#!/bin/sh
CMD="-Duser.language=ru -Duser.region=RU -Dfile.encoding=koi8-r -classpath .:dist/test.jar Test"
ARG=`cat /mnt/pstuff/koi8`

java $CMD $ARG <<EOF
$ 1 
EOF
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Аргумент коммандной строки в KOI8_R how? / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]