Hallo zusammen,
ich möchte die folgende Methode etwas anpassen:
Die Methode soll zwei zusätzliche Parameter übergeben bekommen (siehe Kommentar). Der String localFileFtp soll sich wie localFile verhalten, ebenso der String remoteFileFtp zu remoteFile.
Wie kann ich die Methode am elegantesten umstellen, so dass localFileFtp (remoteFileFtp) sich genauso verhält wie localFile (remoteFile)?
Hinweise sind erwünscht ;-)
MfG Pago
ich möchte die folgende Methode etwas anpassen:
Code:
public void exportFile(String localFile, String user, String host, String remoteFile, Session session)
//public void exportFile(String localFile, String localFileFtp, String user, String host, String remoteFile, String remoteFileFtp, Session session)
{
FileInputStream fis = null;
try
{
String command = "scp -p -t " + remoteFile;
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand(command);
OutputStream out = channel.getOutputStream();
InputStream in = channel.getInputStream();
channel.connect();
if (checkAck(in) != 0)
{
System.exit(0);
}
long filesize = (new File(localFile)).length();
command = "C0644 " + filesize + " ";
if (localFile.lastIndexOf('/') > 0)
{
command += localFile.substring(localFile.lastIndexOf('/') + 1);
}
else
{
command += localFile;
}
command += "\n";
out.write(command.getBytes());
out.flush();
if (checkAck(in) != 0)
{
System.exit(0);
}
fis = new FileInputStream(localFile);
byte[] buf = new byte[1024];
while (true)
{
int len = fis.read(buf, 0, buf.length);
if (len <= 0)
break;
out.write(buf, 0, len);
}
fis.close();
fis = null;
buf[0] = 0;
out.write(buf, 0, 1);
out.flush();
if (checkAck(in) != 0)
{
System.exit(0);
}
out.close();
channel.disconnect();
}
catch (Exception e)
{
System.out.println(e);
try
{
if (fis != null)
fis.close();
}
catch (Exception ee)
{
System.out.println(ee);
}
}
}
Die Methode soll zwei zusätzliche Parameter übergeben bekommen (siehe Kommentar). Der String localFileFtp soll sich wie localFile verhalten, ebenso der String remoteFileFtp zu remoteFile.
Wie kann ich die Methode am elegantesten umstellen, so dass localFileFtp (remoteFileFtp) sich genauso verhält wie localFile (remoteFile)?
Hinweise sind erwünscht ;-)
MfG Pago