为什么提到这个问题呢?还是接着上次的创建完压缩文件后,会把文件存放在一个地方,这样的话所有商户创建的文件都会存在一个地方,这样就无法对商户的查看权限进行控制了,这样导致的结果就是其他商户创建的压缩文件被所有商户所共享,而这个不是我们所希望的,所以实现对压缩文件后的查看权限的实现变得很有必要了。
其实实现这个并不难。只要在商户压缩的文件的时候,把文件的压缩存放的地址动态进行创建,而不是事先创建好,那么这个问题就容易进行解决了。
可能我们会多次进行压缩,为了进行区分,可以加上时间戳,这样的话,我们每次的操作都一目了然了。究竟怎么实现呢?
编写工具了,这个网上很多地方都有,我采用是下面的这种实现:
public static boolean createDir(String destDirName) {
File dir = new File(destDirName); //destDirName 文件夹所在路径以及文件名
if (dir.exists()) {
System.out.println("创建目录" + destDirName + "失败,目标目录已存在!");
return false;
}
if (!destDirName.endsWith(File.separator))
destDirName = destDirName + File.separator;
// 创建单个目录
if (dir.mkdirs()) {
System.out.println("创建目录" + destDirName + "成功!");
return true;
} else {
System.out.println("创建目录" + destDirName + "成功!");
return false;
}
}
之后在我们的业务程序中进行调用,并且动态创建目录和压缩文件的名字,代码如下所示:
boolean flag = false;
flag = createDir(newPath); //将路径名字进行传入,创建新的文件夹
if (flag == true) { //成功创建后生成新的压缩文件的存储地址,以当前的时间区分不同的下载包System.currentTimeMillis()
zipFile = newPath + "/" + ResourceUtil.getSessionUserName().getUserName() + "-" + System.currentTimeMillis() + ".zip";
其实我们使用一个工具不难,但是我们需要考虑的因素是很多的,文件能不能共享,其实编写程序不是一件机械的事情,更多的是融于思考,这样的你软件才能更加的人性化和受欢迎。