Мне нужно использовать DataInputStream, так как мне нужна устаревшая функция readLine(), и я не знаю точного формата файла входного файла (то есть, какой конец строки используется), но также необходимо для чтения двоичных закодированных примитивов.DataInputStream readLine() устарел
Это похоже на этот вопрос:
Is there a class that exposes an unbuffered readLine method in Java?
Мое предложение использовать что-то вроде этого
public class SaveDataInputStream extends DataInputStream {
public SaveDataInputStream(InputStream in) {super(in);}
public String readLineSave() throws IOException {
// ???
}
}
и использовать() содержание метода ReadLine, который можно найти в Класс DataInputStream (это похоже на принятый ответ в указанном вопросе). Однако я не совсем понимаю, почему метод был устаревшим и предпочел бы знать, подходит ли он для моего кода.
Javadoc говорит: Этот метод неправильно преобразовывает байты в символы.
Но что это значит? Должен ли я беспокоиться об этом и что может произойти в худшем случае? Можно ли написать собственный метод, который исправляет проблему (эффективность на самом деле не вызывает беспокойства)?
Подсказка: новый BufferedReader (новый InputStreamReader (..)); это неправильный ответ ...
Было бы легче узнать, как читать файл, если вы указали код, используемый для его записи. –