Я создал объект InputStream из файла и InputStreamReader из этого.Использование InputStream и InputStreamReader в то же время в java
InputStream ips = new FileInputStream("c:\\data\\input.txt");
InputStreamReader isr = new InputStreamReader(ips);
Я в основном читать данные в виде байтов в буфер, но когда приходит время, когда я должен читать в гольцов я буду «режим переключения» и читать с InputStreamReader
byte[] bbuffer = new byte[20];
char[] cbuffer = new char[20];
while(ips.read(buffer, 0, 20)!=-1){
doSomethingWithbBuffer(bbuffer);
// check every 20th byte and if it is 0 start reading as char
if(bbuffer[20] == 0){
while(isr.read(cbuffer, 0, 20)!=-1){
doSomethingWithcBuffer(cbuffer);
// check every 20th char if its # return to reading as byte
if(cbuffer[20] == '#'){
break;
}
}
}
}
является это безопасный способ чтения файлов с смешанными данными с символом и байтом?
Не используйте 'readLine()' DataInputStream', поскольку он отмечен как устаревший с JDK 1.1 – Kalsan