2012-09-21 2 views
0

원격 FTP 서버에 csv 파일을 만들고 보내려합니다. CSVWriterApache Commons에서 사용하고 있습니다.로컬로 실제 파일을 만들지 않고 ftp로 csv 파일 업로드

현재 로컬 임시 파일을 만들고이 파일을 Inputstream 주위에 랩핑 한 다음이 스트림을 client.store(<InputStream>,<Filename>) 메서드를 사용하여 원격 FTP 서버에 업로드하고 있습니다. 여기서 문제는 실행될 때마다 로컬 임시 파일을 만드는 것입니다.
이걸 제거하고 스트림, 특히 CSV 스트림을 직접 만들 수 있기를 바랍니다. 내 주요 아이디어는 로컬 임시 파일을 만드는 것을 피하는 것입니다.

+1

현재 코드가 어떻게 보이는지 보여 줄 수 있습니까? – Keppil

답변

1

모든 종류의 Writer에서 ByteArrayOutputStream을 래핑하고 해당 Writer를 CSVWriter의 인수로 사용할 수 있습니다. 그렇게하면 ByteArrayInputStream에 대한 인수로 사용할 수있는 바이트 배열을 추출 할 수 있습니다.

많은 양의 데이터 인 경우 ByteArray * Streams 대신 PipedInputStream 및 PipedOutputStream 조합을 사용할 수 있습니다.

관련 문제