Java читает строку определенной длины и положения из текстового файлаJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Java читает строку определенной длины и положения из текстового файла

Сообщение Anonymous »

Я пытаюсь создать сегменты данных из текстового файла для передачи по сети на другое устройство, однако мое устройство чтения не работает.
Оно прочитает фрагмент, отправит его и обновите значение счетчика restigBytes, затем прочитайте следующий сегмент, с которого должен начинаться следующий сегмент. Например, HelloWorld будет состоять из 2 5-байтовых сегментов «Hello» и «World», но когда я читаю файл, он читает только первые 5 букв («Hello») 2 раза и вообще не читает «World».
Как заставить fileReader читать с определенной начальной точки, а не всегда с самого начала. Я не ограничен в использовании FileReader, если есть более подходящее средство чтения, которое я мог бы реализовать, и дайте мне знать.
public int readData() throws IOException {

//creates the file reader for the input file.
FileReader myReader = null;
try {
myReader = new FileReader(inputFileName);
} catch (IOException e){
System.out.println("File reader could not be initialized");
System.out.println(e.getMessage());
System.exit(0);
}

System.out.println("Creating segment...");
System.out.println("----------------------------------------------------");

//reads the input file and changes the segments values
if (this.remainingBytes < this.maxPayload) {
//if the payload size is greater than the number of characters left
char[] segCharsBuf = new char[(int) this.remainingBytes];
myReader.read(segCharsBuf,0,(int)this.remainingBytes);
this.dataSeg.setSize((int)remainingBytes);
this.dataSeg.setPayLoad(Arrays.toString(segCharsBuf));
this.dataSeg.setSq(((int)this.fileSize - (int)this.remainingBytes) / this.maxPayload);
System.out.println("Segment number " + this.dataSeg.getSq() +" created (" + this.dataSeg.getSize() + " Bytes)");
System.out.println("----------------------------------------------------");
return -1;

} else {
//if the file is longer or just as ling as the payload size
char[] segCharsBuf = new char[this.maxPayload];
myReader.read(segCharsBuf,0, this.maxPayload);
this.dataSeg.setSize(this.maxPayload);
this.dataSeg.setPayLoad(Arrays.toString(segCharsBuf));
this.dataSeg.setSq(((int)this.fileSize - (int)this.remainingBytes) / this.maxPayload);
System.out.println("Segment number " + this.dataSeg.getSq() +" created (" + this.dataSeg.getSize() + " Bytes)");
System.out.println("----------------------------------------------------");
return 0;
}
}


Подробнее здесь: https://stackoverflow.com/questions/791 ... -a-txt-fie
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Java читает строку определенной длины и положения из текстового файла
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Мой цикл for читает только первую строку текстового файла.
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Метод readData() читает только первый сегмент текстового файла при использовании FileInputStream.
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Метод readData() читает только первый сегмент текстового файла при использовании FileInputStream.
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как заполнить строку n символом, чтобы сделать ее определенной длины в Python
    Anonymous » » в форуме Python
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»