我正在使用 Flink 并在 s3 存储桶上读取/写入镶木地板文件。
我的窗口代码是列出业务文件夹下的所有镶木地板文件并获取文件列表。
Path file = new Path("C:\\tmp\\business");
List<String> fileList= listFileInDir(file.toString());
当在 unix 框中移动相同的代码时,它对于单个文件(完整路径)工作正常,但是没有读取 s3 文件夹下的所有镶木地板文件并在文件列表中获取 null(尝试了所有 s3、s3a 和 s3n)
Path file = new Path("s3n://java-filink-vkhan/parquet");
List<String> fileList= listFileInDir(file.toString());
方法将路径读取为字符串
public List<String> listFileInDir(String path) {
List<String> results = new ArrayList<String>();
File[] files = new File(path).listFiles();
// If this pathname does not denote a directory, then listFiles() returns null.
if(null != files) {
for (File file : files) {
if (file.isFile()) {
results.add(file.getName());
}
}
}
return results;
}