FTP를 사용하여 메인 프레임 서버에 파일을 업로드하려고합니다. 내 코드는 코드는 내가 디버깅 드릴 수 없습니다 client.storeFile("FILE.TXT", in);
강타됩니다Java, Apache Common Net을 사용하여 메인 프레임으로 파일을 FTP로 전송
FTPClient client = new FTPClient();
InputStream in = null;
FileInputStream fis = null;
try {
client.connect("10.10.23.23");
client.login("user1", "pass123");
client.setFileType(FTPClient.BINARY_FILE_TYPE);
int reply ;
reply = client.getReplyCode();
System.out.println("Reply Code:"+reply);
if(FTPReply.isPositiveCompletion(reply)){
System.out.println("Positive reply");
String filename ="D:\\FILE.txt";
in = new FileInputStream(filename);
client.storeFile("FILE.TXT", in);
client.logout();
fis.close();
} else {
System.out.println("Negative reply");
}
} catch(final Throwable t){
t.printStackTrace();
}
이하입니다. 방법/해결책을 제안하십시오.
fis.close();하고 있습니다. on 초기화되지 않은 개체 및 내 컴퓨터에서 NPE가 발생합니다. – Lukasz
storeFile의 반환 값을 확인하고 닫아야합니다. – extraneon
어떤 종류의 메인 프레임입니까? EBCDIC을 사용합니까? "직접 지원되는 파일 형식은 FTP.ASCII_FILE_TYPE 및 FTP.BINARY_FILE_TYPE뿐입니다 .4 가지 이상의 EBCDIC 인코딩이 있으므로, 우리는 EBCDIC에 대한 직접 지원을 제공하지 않기로 선택했습니다 .EBCDIC 및 기타 지원되지 않는 파일 유형을 전송하려면 자신의 필터 인 InputStreams 및 OutputStreams를 생성하고 FTPClient 메소드에서 반환되거나 필요로하는 스트림을 감싸야합니다. " http://commons.apache.org/net/api/org/apache/commons/net/ftp/FTPClient.html – Lukasz