FileInputStream을 InputStream으로 변환하는 방법
변환하고 싶을 뿐입니다.FileInputStream
에 대해서InputStream
,내가 어떻게 그럴 수 있을까?
예
FileInputStream fis = new FileInputStream("c://filename");
InputStream is = ?;
fis.close();
InputStream is;
try {
is = new FileInputStream("c://filename");
is.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return is;
InputStream is = new FileInputStream("c://filename");
return is;
FileInputStream은 inputStream입니다.
FileInputStream fis = new FileInputStream("c://filename");
InputStream is = fis;
fis.close();
return is;
물론 이 작업은 원하는 대로 수행되지 않습니다. 반환되는 스트림은 이미 닫혀 있습니다.FileInputStream을 반환하기만 하면 됩니다.발신 코드가 닫힙니다.
일반적으로 먼저 입력 스트림에서 읽은 후 닫습니다.FileInputStream은 다른 InputStream(또는 리더)으로 랩할 수 있습니다.포장 스트림/판독기를 닫으면 자동으로 닫힙니다.
이것이 발신자에게 InputStream을 반환하는 메서드인 경우 스트림이 종료된 후 스트림을 닫는 것은 발신자의 책임입니다.메서드로 닫으면 발신자가 사용할 수 없게 됩니다.
댓글에 답하자면...
InputStream 콘텐츠를 원격 사용자에게 전송하려면 InputStream의 콘텐츠를 OutputStream에 쓴 다음 두 스트림을 모두 닫습니다.
원격 사용자는 사용자가 생성한 스트림 개체에 대해 전혀 알지 못합니다.콘텐츠를 InputStream으로 받아 작성, 읽기 및 종료합니다.
스트림을 다른 스트림으로 줄바꿈할 경우 중간 스트림을 닫지 않으며 매우 중요합니다.외부 흐름 사용이 끝나기 전에 닫으면 안 돼요.왜냐하면 너도 바깥 물줄기를 닫을 것이기 때문이다.
언급URL : https://stackoverflow.com/questions/11100677/how-to-convert-fileinputstream-to-inputstream
'programing' 카테고리의 다른 글
PHP에서 Excel 파일 읽기 (0) | 2022.09.26 |
---|---|
잘못된 이름으로 이 개체 속성에 액세스하려면 어떻게 해야 합니까? (0) | 2022.09.26 |
Java를 사용하여 SSH를 통해 원격 MySQL 데이터베이스에 연결 (0) | 2022.09.26 |
vue 구성 요소를 글로벌하게 등록하는 중 (0) | 2022.09.19 |
Java를 사용하여 이미지 크기를 조정하려면 어떻게 해야 합니까? (0) | 2022.09.19 |