Когда я делаю свое первое сохранение проекта, в котором пропущены поля в диалоговом окне «Новый проект», диалоговое окно «Сохранить» запрашивает все параметры.
То же самое, только на разных концах процесса.
Кажется, что суть этого вопроса упускается. Если я понимаю Вас правильно, Вы хотите объект, который функционирует как InputStream в одном потоке и OutputStream в другом для создания средства передачи между двумя потоками.
Возможно, один ответ должен использовать состав вместо наследования (который является методическими рекомендациями так или иначе). Создайте Канал, который содержит PipedInputStream и PipedOutputStream, подключенный друг к другу с getInputStream () и getOutputStream () методы.
Вы не можете непосредственно передать объект Канала чему-то нуждающемуся в потоке, но можно передать возвращаемое значение, он, заставляют методы делать это.
Это работает на Вас?
java.io. PipedOutputStream и java.io. PipedInputStream надеются быть классами для использования для этого сценария. Они разработаны, чтобы использоваться вместе для передачи по каналу данных между потоками.
Если бы Вы действительно хотите, чтобы некоторый отдельный объект раздал его, должен был бы содержать один из каждого из них и выставить их через методы считывания.
Это - довольно общая вещь сделать, я думаю. Посмотрите этот вопрос.
Простой способ записать содержание Java InputStream к OutputStream
Вы не можете создать класс, который получает обоих из InputStream
и OutputStream
потому что это не интерфейсы, и у них есть общепринятые методики, и Java не позволяет множественное наследование (компилятор не знает, звонить ли InputStream.close()
или OutputStream.close()
если Вы звоните close()
на Вашем новом объекте).
Другой проблемой является буфер. Java хочет выделить статический буфер для данных (который не изменяется). Это означает, когда Вы используете 'java.io. PipedXxxStream', данные записи к нему в конечном счете заблокируются, если Вы не будете использовать два различных потока.
Таким образом, ответ от Apocalisp корректен: необходимо записать цикл копии.
Я предлагаю, чтобы Вы включали свободное-городское-население-io Apache в свой проект, который содержит много стандартных программ помощника только для задач как это (данные копии между потоками, файлами, строками и всеми комбинациями этого).