Где реализация OutputStream - PullRequest
0 голосов
/ 30 марта 2012

Ну, я написал приложение, которое будет читать из подключения через сокет, используя Outputstream.создание цепочки с использованием outputtream с OutputstreamWriter с BufferedWrittre с printwriter.Теперь, если я хочу прочитать файл в Java, я использовал метод ниже.

FileInputStream fis=new FileInputStream("C:\\testnew\\out.text");
BufferedReader br=new BufferedReader(new InputStreamReader(fis));
String s;
while((s=br.readLine())!=null){
    System.out.println("s is "+s);

}

Но в некотором смысле OutputStream, похоже, отсутствует.Но так как FileInputStream дает мне объект, который помогает мне в чтении контента, должен быть внутренний OutputStream, реализованный в FileInputStream, который фактически заставляет вещи появляться на экране.

Ответы [ 2 ]

2 голосов
/ 30 марта 2012

Будьте понятны о OutputStream и InputStream . У них работа совершенно другая. Таким образом, нет никаких сомнений в том, что одно реализовано внутри другого.

OutputStream используется для записи , где FileInputStream используется для чтения .

Вы никогда не найдете даже слова OutputStream в исходном коде FileInputStream

1 голос
/ 30 марта 2012

Я думаю, что OutputStream реализован в FileInputStream.

Точно то, что вас смущает, неясно, но это, безусловно, неправильно.

Вы получаете s от fis, который является InputStream, и распечатываете его через OutputStream System.out, и они полностью отделены.

...