Я хочу знать, действительно ли «положить» удалось поставить файл в пункт назначения. Если по какой-либо причине файл не помещается в пункт назначения [возможно, из-за проблем на целевом сервере, таких как ограничение пространства и т. Д.), Мне нужно это знать.Как уловить успех/неудачу ftp в sun.net.ftp.FtpClient?
Код:
private static boolean putFile(String m_sLocalFile, FtpClient m_client) {
boolean success = false;
int BUFFER_SIZE = 10240;
if (m_sLocalFile.length() == 0) {
System.out.println("Please enter file name");
}
byte[] buffer = new byte[BUFFER_SIZE];
try {
File f = new File(m_sLocalFile);
int size = (int) f.length();
System.out.println("File " + m_sLocalFile + ": " + size + " bytes");
System.out.println(size);
FileInputStream in = new FileInputStream(m_sLocalFile);
OutputStream out = m_client.put(f.getName());
int counter = 0;
while (true) {
int bytes = in.read(buffer);
if (bytes < 0)
break;
out.write(buffer, 0, bytes);
counter += bytes;
System.out.println(counter);
}
out.close();
in.close();
} catch (Exception ex) {
System.out.println("Error: " + ex.toString());
}
return success;
}
Считаете ли вы, что это нормально, если я после 'in.close();' установил успех в true? – itro
@itro Конечно. – EJP