Метод readData() читает только первый сегмент текстового файла при использовании FileInputStream.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Метод readData() читает только первый сегмент текстового файла при использовании FileInputStream.

Сообщение Anonymous »

Мой метод readData() является частью программы, которая представляет собой протокол надежной передачи (RFT), который работает поверх UDP и должен гарантировать надежную доставку файла между клиентом и сервером. >
Что касается моего последнего сообщения о проблемах, связанных с моим методом readData(), я снова попытался использовать FileInputStream, и это привело к легко воспроизводимой ошибке, в результате которой остался только первый сегмент. считываемых данных. Кроме того, при необходимости я могу предоставить дополнительный контекст для других классов программы.
Важное примечание: мне не разрешено создавать новые переменные/методы. , мне также не разрешено редактировать существующие сигнатуры методов. Я не очень хорошо разбираюсь в программировании, поэтому буду благодарен за любую помощь.
Кроме того, файл input.txt содержит только эту строку: Компьютерные сети 2025.
Вот как должен работать метод:
public int readData():
  • Считывает следующий фрагмент данных фиксированного размера (указанный в атрибуте maxPayload в Protocol.java) из заданного потока входного файла в полезную нагрузку сегмента данных (dataSeg).
  • Помимо заполнения полезной нагрузки сегмента данных, этот метод устанавливает правильный тип сегмента данных вместе с правильным порядковым номером sq. Он также устанавливает номер сегмента данных. поле размера на количество байтов, прочитанных из файла (размер полезных данных может быть меньше для последнего сегмента, поскольку размер файла не может быть кратным размеру каждого фрагмента данных, хранящихся в поле полезных данных).
  • Этот метод НЕ устанавливает контрольную сумму сегмента данных.
  • Метод считывает только один сегмент за раз. Не читайте весь файл сразу. Считайте данные до соответствующего размера для полезной нагрузки (т. е., за исключением случаев, когда размер файла меньше размера полезной нагрузки сегмента данных, вы не должны читать весь файл сразу).
  • Метод возвращает -1, если этот сегмент данных является последним сегментом данных (больше нет данных для чтения), и 0 в противном случае.
Ниже приведен соответствующий используемый код. в методе readData(), который постоянно выдает ошибку только первого сегмента неоднократно читаются.
import java.io.*;

public class Protocol {
private File inputFile;
private long fileSize;
private int maxPayload;
private long remainingBytes;
private Segment dataSeg;
private int totalSegments;

public Protocol(String inputFileName, int maxPayload) {
this.inputFile = new File(inputFileName);
this.fileSize = this.inputFile.length();
this.remainingBytes = this.fileSize;
this.maxPayload = maxPayload;
this.dataSeg = new Segment();
this.totalSegments = 0;
}

public int readData() {
if (remainingBytes

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Метод readData() читает только первый сегмент текстового файла при использовании FileInputStream.
    Anonymous » » в форуме JAVA
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Как создать сегмент видео (ffmpeg -ss -t) в GStreamer? gst_segment_do_seek: утверждение «сегмент->формат == формат» не в
    Anonymous » » в форуме C++
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Извлечь первый сегмент URL-адреса из полного URL-адреса
    Anonymous » » в форуме Php
    0 Ответы
    40 Просмотры
    Последнее сообщение Anonymous
  • Мой цикл for читает только первую строку текстового файла.
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Java читает строку определенной длины и положения из текстового файла
    Anonymous » » в форуме JAVA
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous

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