Предложите, как написать текстовый файл, доступный в расположении SFTP. - PullRequest
0 голосов
/ 12 июля 2020

1.Класс A - это мой главный, точно я хочу записать весь свой результат в .txt, который доступен в местоположении sftp.

2. В классе B я создал файл .txt в местоположении sftp в этом тот же текстовый файл, в котором я хочу разместить свои значения печати. ​​

3. Ниже введите код testNg

@Test
public  class   A
       {

 B b = new B();
    int i=10;
int j = 20;
int k=i+j;

 System.out.println(k);
   
}
}    
    
    
    
public class B
{   
    
       public String sftrWriteFile() {
                try {
                    connect();
                    channelSftp = (ChannelSftp) session.openChannel("sftp");
                    channelSftp.connect();
                    System.out.println("Session connected  " + session.isConnected());
                    //fileOutStream = channelSftp.put("/home/dasrsoum/RM_Test_Result.xlsx");
                    
                    fileOutStream = channelSftp.put("/home/dasrsoum/RM_Test_Result.xlsx");
                    
                    // wb = new XSSFWorkbook(fileStream);
                    // sheet = wb.getSheetAt(0);
                    fileOutStream.close();
                    session.disconnect();
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return "Sucess";
            }
}

1 Ответ

0 голосов
/ 12 июля 2020

Вы можете использовать PrintWriter декоратор для OutputStream, чтобы упростить запись в текстовый файл. Предположим, что вы передаете int[] data методу sftrWriteFile() класса B, т.е. подпись изменяется как sftrWriteFile(int data). Следующий фрагмент кода поможет вам понять идею:

            OutputStream fileOutStream = channelSftp.put("/home/dasrsoum/RM_Test_Result.txt");
            PrintWriter printWriter = new PrintWriter(fileOutStream, true);
            for (int value : data) {
                printWriter.println(value);
            }
            printWriter.close();
...