Скачать файл Excel с сервера Unix в Windows-клиент - PullRequest
1 голос
/ 09 июня 2019

Я недавно начал работать над разработкой приложений с использованием Java.Цель приложения состоит в том, чтобы обработать некоторую информацию API и выходную информацию в виде файла Excel.JAR находится на сервере и запускается, когда пользователь отправляет запрос на клиент (локальный компьютер).

Приложение успешно создает файл Excel, но на сервере.Я пытался использовать подход JAVA ChannelSftp для загрузки с сервера на мой локальный компьютер (местоположение клиента), но он создает новый файл в расположении JAR (то есть в расположении сервера) вместо расположения клиента.Фрагмент кода приведен ниже, и в папке JAR создается файл с именем файла C: \ Users \ PFName-CFName_Co.xlsx

String SerDir=System.getProperty("user.home") + "/Desktop/";
String LocDir="C:\Users\";
String SerFC = SerDir+PFName+"-"+CFName+"_Co.xlsx";
String LocFC = LocDir+PFName+"-"+CFName+"_Cos.xlsx";
Session session = null;
ChannelSftp sftpChannel=null;
Channel channel = null;
JSch jsch = new JSch();
    try
    {
        session = jsch.getSession(username, hostname, 22);   
        session.setConfig("StrictHostKeyChecking","no");
        session.setPassword(password);
        Properties config = new Properties();
        config.put("StrictHostKeyChecking", "no");
        session.setConfig(config);
        session.connect();
        channel = session.openChannel("sftp");
        channel.connect();
        sftpChannel =(ChannelSftp) channel;
        sftpChannel.cd(SerDir); 
        File file = new File(SerFC);
        byte[] buffer = new byte[1024];
        BufferedInputStream bis;
        bis = new BufferedInputStream(sftpChannel.get(file.getName()));
        File newFile = new File(LocDir + file.getName());
        // Download file
        OutputStream os = new FileOutputStream(newFile);
        BufferedOutputStream bos = new BufferedOutputStream(os);
        int readCount;
        while ((readCount = bis.read(buffer)) > 0) {
            bos.write(buffer, 0, readCount);
    }
bis.close();
bos.close();

Пожалуйста, проверьте и помогите мне, как загрузить файл в расположение клиента(в любом месте с диска)

...