Пример программы,
осуществляющей перекодировку,
прием данных с консоли и
получающей список файлов в директории
import
java.io.*;
class F1
{
public static void main(String [] args) throws Exception {
// переназначим вывод на pr866 с перекодировкой в "Cp866"
PrintWriter pr866 = new PrintWriter(
new OutputStreamWriter(System.out, "Cp866"), true
);
int i;
String b1;
// так можно выяснит есть ли в командной строке данные....
// if ( args.length != 0 )
// распечатаем количество слов в командной строке
System.out.println("args.length=" + args.length );
System.out.println("===============================================");
// распечатаем все слова из командной строки.....
// командная строка в коде Ср1251.......
for (i=0; i < args.length; i++) {
System.out.println("args[" + i + "]=" + args[i]);
};
System.out.println("===============================================");
// распечатаем все слова из командной строки.....
// командная строка в коде Ср1251 --
// предварительно перекодируем ее в Ср866 в строку b1
for (i=0; i < args.length; i++) {
// так можно перекодировать строку из "Ср1251" в "Cp866"
b1
=new String(args[i].getBytes("Cp866") );
System.out.println("args[" + i + "]=" + b1);
};
System.out.println("===============================================");
// распечатаем все слова из коммандной строки.....
// командная строка в коде Ср1251 -
// печатаем через переназначенный вывод pr866.......
for (i=0; i < args.length; i++) {
pr866.println("args[" + i + "]=" + args[i]);
};
System.out.println("===============================================");
// получим список файлов из директории args[0]
// перекодируем и распечатаем
// если args[0] не указан возмем текущую директорию
String dir;
if ( args.length != 0 ) dir=args[0]+"\\"; else dir=".\\";
System.out.println("dir=" + dir);
File d = new File(dir);
if (d.exists() && d.isDirectory() ) {
String bb[] = d.list();
for( int ii=0; ii< bb.length; ii++)
{
//System.out.println(bb[ii]);
pr866.println(bb[ii]);
};
};
System.out.println("=========== Ввводите текст
=================================");
// вводим данные с консоли и их выводим
//пока не введена "пустая строка"
String s;
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
do
{
s=in.readLine(); //Читаем с клавиатуры
System.out.println("s=<"+s+">");
} while (s.length() != 0 );
} // конец процедуры main....
}