Показать сообщение отдельно
  #1 (permalink)  
Старый 20.02.2016, 04:01
Новичок на форуме
Отправить личное сообщение для Перевозчик Посмотреть профиль Найти все сообщения от Перевозчик
 
Регистрация: 20.02.2016
Сообщений: 2

Синхронное чтение файла readSync
При попытке синхронного чтения построчно данные считываются неточно(при асинхронном чтении все нормально).
Примерный код
fs=require('fs');
var op=fs.openSync("new.txt","r+",777);
var pos=0; var line=[];
var rl=fs.readSync(op,100,pos);
line.push(rl[0]);
pos=pos+rl[1];
rl=fs.readSync(op,100,pos);
.....

 fs.closeSync(op);


Суть проблемы: текст латинскими буквами считывается корректно всегда.
Текст кириллицей считывается корректно когда скачиваешь файл в одну строку (Одна операция к примеру -readSync(op,10000,0)).
При порционном чтении многострочного кириллического текста или (смешанного) возникают отдельные кракозябры в кириллическом тексте как раз в районе стыка "порций"-как я понимаю.
Это баг или что то неверно делаю?

Последний раз редактировалось Перевозчик, 20.02.2016 в 04:04.
Ответить с цитированием