文件读写操作(包含文件夹)

public class FileOperation {
	
	/**
	 * 读取文件夹下的文件
	 */
	
	public List<Map<String, Object>> readFile(String filepath) {
		List<Map<String, Object>>fileNameList = new ArrayList<>();
		File file = new File(filepath);
		if (!file.isDirectory()) {//文件
//			System.out.println("文件");
//			System.out.println("path=" + file.getPath());
//			System.out.println("absolutepath=" + file.getAbsolutePath());
			Map<String, Object>fileMap = new HashMap<String, Object>();
			String fileName = file.getName();
			String absolutePath = file.getAbsolutePath();
			fileMap.put(fileName, absolutePath);
			fileNameList.add(fileMap);
		} else{//文件夹
			String[] filelist = file.list();
			for (int i = 0; i < filelist.length; i++) {
				File readFile = new File(filepath + "/" + filelist[i]);
				if (!readFile.isDirectory()) {
//					System.out.println("path=" + readFile.getPath());
//					System.out.println("absolutepath=" + readFile.getAbsolutePath());
					Map<String, Object>fileMap = new HashMap<String, Object>();
					String fileName = readFile.getName();
					String absolutePath = readFile.getAbsolutePath();
					fileMap.put(fileName, absolutePath);
					fileNameList.add(fileMap);
				} else {
					readFile(filepath + "/" + filelist[i]);
				}
			}
		}
		return fileNameList;
	}

	/**
	 * 删除某个文件夹下的所有文件夹和文件
	 */

	public  boolean deleteFile(String delpath) {
			File file = new File(delpath);
			if (!file.isDirectory()) {//文件
				file.delete();
			} else if (file.isDirectory()) {//文件夹
				String[] filelist = file.list();
				for (int i = 0; i < filelist.length; i++) {
					File delfile = new File(delpath + "/" + filelist[i]);
					if (!delfile.isDirectory()) {
						System.out.println("path=" + delfile.getPath());
						System.out.println("absolutepath="
								+ delfile.getAbsolutePath());
						System.out.println("name=" + delfile.getName());
						delfile.delete();
						System.out.println("删除文件成功");
					} else if (delfile.isDirectory()) {
						deleteFile(delpath + "/" + filelist[i]);
					}
				}
				file.delete();
			}
		return true;
	}
	
	/**
	 * 写入文件
	 */

	public void  writeFile(String filePath,String content){
		try{
		     BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(filePath));
		     bufferedWriter.write(content);
		     bufferedWriter.flush();
		     bufferedWriter.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值