小编pin*_*ngu的帖子

使用JSch ChannelSftp:如何使用动态名称读取多个文件?

我必须从SFTP服务器读取一堆带有动态文件名的.CSV文件.这些文件每15分钟生成一次.

我正在使用JSch的ChannelSftp,但是没有方法可以提供确切的文件名.我只看到一种.ls()方法.这给出了例如Vector

[drwxr-xr-x    2 2019     2019          144 Aug  9 22:29 .,
 drwx------    6 2019     2019          176 Aug 27  2009 ..,
 -rw-r--r--    1 2019     2019          121 Aug  9 21:03 data_task1_2011_TEST.csv,
 -rw-r--r--    1 2019     2019          121 Aug  9 20:57 data_task1_20110809210007.csv]
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法来读取目录中的所有文件并将它们复制到另一个位置?

此代码适用于复制单个文件:

JSch jsch = new JSch();
session = jsch.getSession(SFTPUSER,SFTPHOST,SFTPPORT);
session.setPassword(SFTPPASS);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config);
session.connect();
channel = session.openChannel("sftp");
channel.connect();
channelSftp = (ChannelSftp)channel;
channelSftp.cd(SFTPWORKINGDIR);
channelSftp.get("data_task1_20110809210007.csv","data_task1_20110809210007.csv");
Run Code Online (Sandbox Code Playgroud)

sftp jsch

21
推荐指数
1
解决办法
6万
查看次数

DTO应该使用继承还是组合

在SOA中,如果一些DTO类具有一些重复的字段.使用Composition或Inheritance是否更好,所以没有重复或只使用一个封装所有字段的DTO类.随着我的DTO类的增长,我看到很多重复的字段名称和Sonar报告是哭泣的家禽.什么是最好的方法(或替代方案).

例如

public class DocDto{
private Long id;
private String name;
private String docType
}

public class DocReviewDto{
private Long id;
private String name;
private String status;
private String comment;
}
Run Code Online (Sandbox Code Playgroud)

java soa design-patterns composition dto

8
推荐指数
1
解决办法
3540
查看次数

我需要ETL吗?

我们目前使用Datastage ETL - 每天导出一个包含15个表(3种不同模式)数据的CSV /文本文件.

我想知道如果有一个更简单的方法来完成这个使用ETL.我试过Scriptella.它看起来很简单/快速,但它又是一个ETL.请建议..

etl

4
推荐指数
1
解决办法
2904
查看次数

Java - Date构造函数接受日期字符串,但不推荐使用.试过替代品,但没有运气

String temp_date="07/28/2011 11:06:37 AM";  
Date date = new Date(temp_date); //Depricated 
SimpleDateFormat sdf = new SimpleDateFormat("MMM-dd-yyyy hh:mm:ss"); 
String comp_date= sdf.format(date);
System.out.println(comp_date);
Run Code Online (Sandbox Code Playgroud)

这有效,但如果我使用这样的东西

String temp_date="07/28/2011 11:06:37 AM";  
try{  
    SimpleDateFormat sdf = new SimpleDateFormat("MMM-dd-yyyy hh:mm:ss"); 
    Date comp_date= sdf.parse(temp_date);
    System.out.println(comp_date);
}catch(Exception e){
    System.out.println(e);
}
Run Code Online (Sandbox Code Playgroud)

抛出此异常:

java.text.ParseException: Unparseable date: "07/28/2011 11:06:37 AM"
Run Code Online (Sandbox Code Playgroud)

java datetime date

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×2

composition ×1

date ×1

datetime ×1

design-patterns ×1

dto ×1

etl ×1

jsch ×1

sftp ×1

soa ×1