1.service
@Transactional(rollbackFor = Exception.class)
public void saveForFile(String archivesPath) {
//删除原有库中文件
//调用dao,此处不显示
//遍历
getFileList(archivesPath,"-1");
}
@Transactional(rollbackFor = Exception.class)
public void getFileList(String strPath,String parentId) {
File dir = new File(strPath);
File[] files = dir.listFiles(); // 该文件目录下文件全部放入数组
if (files != null) {
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) { // 文件夹
String id = sequenceId.nextId();
//保存入库,此处不显示
//打印
System.out.printf("编号:"+id+"=====父id:"+parentId+"=====文件名:"+files[i].getName());
getFileList(files[i].getAbsolutePath(),id); // 递归
} else{//文件
String id = sequenceId.nextId();
File f = new File(files[i].getAbsolutePath());
//保存,不显示
//打印
System.out.printf("编号:"+id+"=====父id:"+parentId+"=====文件名:"+files[i].getName()+"=====文件路径:"+files[i].getAbsolutePath()+"=====后缀:"+files[i].getName().substring(files[i].getName().lastIndexOf(".") + 1)+"=====大小:"+checkFileSize(f.length()));//checkFileSize见上传文件工具类,路径为绝对路径
}
}
}
}
2.测试类
@RunWith(SpringRunner.class)
@SpringBootTest
public class DataForderFile {
@Autowired
private SysSrcDataFolderService sysSrcDataFolderService;
private final String archivesPath = "E://file";
@Test
public void fileLoad(){
sysSrcDataFolderService.saveForFile(archivesPath);
}
}