1.解析方法
//首先创建ObjectMapper对象
ObjectMapper objectMapper = new ObjectMapper();
//将Json文件转换成对应的实体类对象或者实体类对象集合
//如果json文件是一个json块 {}
YourClass yourClass = objectMapper.readValue(file, new TypeReference<YourClass>() {});
//如果json文件是一个json块数组 [{},{},{}]
List<YourClass> yourClasses = objectMapper.readValue(file, new TypeReference<List<YourClass>>() {});
2.解压工具类
对于压缩文件实现解压,返回一个List<File>集合,参数是压缩文件的流对象
刚好对于获取到的FTP服务器中的压缩文件实现解压,其中InputStream inputStream = ftpClient.retrieveFileStream("绝对地址或者目录下的文件名称");方法刚好获取的是流对象
具体实现参考。
public class ZipUtils {
public static List<File> unzipInputStream(InputStream zipInputStream) {
List<File> fileList = new ArrayList<>();
try (ZipArchiveInputStream zip = new ZipArchiveInputStream(zipInputStream)) {
ZipArchiveEntry zipEntry = null;
while ((zipEntry = zip.getNextZipEntry()) != null) {
String fileName_zip = zipEntry.getName();
File file = new File(fileName_zip);
if (fileName_zip.endsWith("/")) {
file.mkdir();
continue;
} else {
BufferedOutputStream outputStream = new BufferedOutputStream(new FileOutputStream(file));
byte[] byte_s = new byte[1024];
int num;
while ((num = zip.read(byte_s, 0, byte_s.length)) > 0) {
outputStream.write(byte_s, 0, num);
}
outputStream.close();
}
fileList.add(file);
}
} catch (Exception e) {
e.printStackTrace();
}
return fileList;
}
}