【BUG日记】【JAVA】把当前目录下的文件内容进行清空,权限不足。报错java.io.FileNotFoundException: xxx.txt 拒绝访问。

298 阅读2分钟

【有话先说】

笨蛋了,半天才知道原来是之前对这个文件进行了设置只可读...

【日期】

2022/3/5

【问题】

把当前目录下的文件内容,进行清空,权限不足。拒绝访问
并且出现报错:java.io.FileNotFoundException: \html\1.txt 拒绝访问。 image.png

【原因】

之前对这个文件进行了设置只可读... image.png

【如何发现】

思考来思考去,其他文件也没问题的呀,最后一对比,一想起,才知道设置了只读...

【如何修复】

把只读的√去掉!!! image.png

【总结】

好好写bug, 天天找bug~

【代码分享】

	public static void main(String[] args) {
		initFile("/html");
	}

	/**
	 * 文件重新写内容
	 * 
	 * @Method: setTextFile
	 * @author: nanfangzhe
	 * @see: https://juejin.cn/user/2840793779295133
	 * @date: 2022年3月5日
	 * @param filePath
	 */
	public static void setTextFile(String filePath, String text) {
		File file = new File(filePath);
		try {
			if (!file.exists() || !file.isFile()) { // 如果文件不存在
				return;
			} else {
				Writer w = new FileWriter(filePath, false);// 写入的文本不附加在原来的后面而是直接覆盖
				w.write(text); // 写空
				w.close();
			}
		} catch (Exception e) {
			System.out.println("-----------清空文件出错了!" + filePath + "-----------");
			e.printStackTrace();
		}
	}

	/**
	 * 初始化文件
	 * 
	 * @Method: initFile
	 * @author: nanfangzhe
	 * @see: https://juejin.cn/user/2840793779295133
	 * @date: 2022年3月5日
	 */
	public static void initFile(String userFoldPath) { // 初始化当前下所有的文件
		File file = new File(userFoldPath); // 访问当前目录
		if (!file.isDirectory()) {
			return; // 返回
		}
		File[] dirFile = file.listFiles();
		for (File f : dirFile) { // 遍历当前目录下所有文件
			if (!f.isFile()) {// 不是文件跳过
				continue;
			}
			setTextFile(f.getPath(), "");
		}
	}

文章小尾巴

文章写作、模板、文章小尾巴可参考:《写作“小心思”》
  感谢你看到最后,最后再说两点~
  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。
  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~
  我是南方者,一个热爱计算机更热爱祖国的南方人。

  (文章内容仅供学习参考,如有侵权,非常抱歉,请立即联系作者删除。)