public void deleteFile(String filepath) throws IOException {
File f = new File(filepath);//定义文件路径
if (f.exists() && f.isDirectory()) {//判断是文件还是目录
if (f.listFiles().length == 0) {//若目录下没有文件则直接删除
f.delete();
} else {//若有则把文件放进数组,并判断是否有下级目录
File delFile[] = f.listFiles();
int i = f.listFiles().length;
for (int j = 0; j < i; j++) {
if (delFile[j].isDirectory()) {
deleteFile(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径
}
delFile[j].delete();//删除文件
}
}
deleteFile(filepath);//递归调用
} else {
f.delete();
}
//1:java导出Excel {
HSSFWorkbook:是操作Excel2003以前(包括2003)的版本,扩展名是.xls
XSSFWorkbook:是操作Excel2007的版本,扩展名是.xlsx
对于不同版本的EXCEL文档要使用不同的工具类,如果使用错了,会提示如下错误信息。
org.apache.poi.openxml4j.exceptions.InvalidOperationException
org.apache.poi.poifs.filesystem.OfficeXmlFileException
}
WritableWorkbook workbook = null; //创建一个Excel文件
WritableSheet sheet = null; //excel中的sheet
ByteArrayOutputStream baos = new ByteArrayOutputStream(); //缓存文件的存放
String realPath = filepath + fileName;
try {
workbook = Workbook.createWorkbook(new File(realPath));
} catch (IOException e1) {
e1.printStackTrace();
}
try {
sheet = workbook.createSheet("sheet1", 0); // 创建第一个sheet
for (int i = 0; i < columnHeaders.size(); i++) {// 表头
sheet.addCell(new Label(i, 0, columnHeaders.get(i)));
}
for (int i = 0; i < rows.size(); i++) {
List<String> row = rows.get(i); // sheet列
for (int j = 0; j < row.size(); j++) {
sheet.addCell(new Label(j, i + 1, row.get(j))); // sheet行
}
}
workbook.write(); // 写入信息
workbook.close(); // 关闭excel表
} catch (Exception e) {
try {
workbook.close();
} catch (WriteException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
return realPath;
}