Задача: записать буфер символов в файл и вывести эти символы в консоль. Решение с ответа задачи
public void write(char[] cbuf, int off, int len) throws IOException{
fileWriter.write(cbuf,off,len);
System.out.println(new String(cbuf).substring(off,off+ len));
}
Почему когда пишем fileWriter.write(cbuf,off,len) это, то просто len
А когда String(cbuf).substring(off,off+ len)); это,то off+len
substring () возвращает новую строку от off до len, так ведь? Тогда зачем off+len, почему нельзя написать просто String(cbuf).substring(off, len));?
София Сафонцева
31 уровень
Помогите пожалуйста
Обсуждается
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2460969
27 июля 2021, 18:04
len это количество элементов для записи начиная от off (начального индекса)
метод substring принимает непосредственно индексы, начальный и конечный.
таким образом начальный индекс будет off
конечный индекс будет off + len (начальный индекс + количество элементов)
+2