public class Solution {
public static void main(String[] args) throws IOException {
FileInputStream inputStream = new FileInputStream("c:/data.txt");
// Создаем поток-записи-байт-в-файл
FileOutputStream outputStream = new FileOutputStream("c:/result.txt");
if (inputStream.available() > 0) {
//читаем весь файл одним куском
byte[] buffer = new byte[inputStream.available()]; //[inputStream.available()] что это за размер массива?
int count = inputStream.read(buffer);
outputStream.write(buffer, 0, count);
}
inputStream.close();
outputStream.close();
}
}
Dmitriy
23 уровень
Объясните! какого размера будет массив?как он поймет какого размера ему быть?
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Евгений Рознин Backend Developer
19 декабря 2020, 02:49решение
Метод available() возвращает сколько еще НЕПРОЧИТАННЫХ байт осталось из входного потока (в твоем случае в файле). Так как ты не прочитал ни одного байта, то у тебя как раз массив будет размером по числу байт в файле. Вроде так. Эксперты, поправьте, если я не прав.
+2
Ksenia Volkova Java Developer в DXC Master
17 декабря 2020, 10:32полезный
Почему бы не заглянуть в документацию, например?
Или в Идее поставить курсор на название метода и нажать Ctrl + Q?
Мне кажется, это проще и быстрее, чем писать вопрос...
Классов и методов очень много, невозможно знать их все - а значит, постоянно нужно будет заглядывать в документацию. Уметь ей пользоваться - важный навык.
+1