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

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

【有话先说】


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


【日期】


2022/3/5


【问题】


把当前目录下的文件内容,进行清空,权限不足。拒绝访问


并且出现报错:java.io.FileNotFoundException: \html\1.txt 拒绝访问。


微信截图_20220520114131.png


【原因】


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


微信截图_20220520114143.png


【如何发现】


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


【如何修复】


把只读的√去掉!!!


微信截图_20220520114153.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(), "");
    }
  }


文章小尾巴


文章写作、模板、文章小尾巴可参考:《写作“小心思”》


  感谢你看到最后,最后再说两点~


  ①如果你持有不同的看法,欢迎你在文章下方进行留言、评论。

  ②如果对你有帮助,或者你认可的话,欢迎给个小点赞,支持一下~


  我是南方者,一个热爱计算机更热爱祖国的南方人。


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



目录
相关文章
|
2月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
80 9
|
4天前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
48 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
25天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
86 34
|
9天前
|
JSON 前端开发 Java
【Bug合集】——Java大小写引起传参失败,获取值为null的解决方案
类中成员变量命名问题引起传送json字符串,但是变量为null的情况做出解释,@Data注解(Spring自动生成的get和set方法)和@JsonProperty
|
17天前
|
关系型数据库 MySQL Linux
升级到MySQL 8.4,MySQL启动报错:io_setup() failed with EAGAIN
当MySQL 8.4启动时报错“io_setup() failed with EAGAIN”时,通常是由于系统AIO资源不足所致。通过增加AIO上下文数量、调整MySQL配置、优化系统资源或升级内核版本,可以有效解决这一问题。上述解决方案详细且实用,能够帮助管理员快速定位并处理此类问题,确保数据库系统的正常运行。
56 9
|
2月前
|
Java
java 中 IO 流
Java中的IO流是用于处理输入输出操作的机制,主要包括字节流和字符流两大类。字节流以8位字节为单位处理数据,如FileInputStream和FileOutputStream;字符流以16位Unicode字符为单位,如FileReader和FileWriter。这些流提供了读写文件、网络传输等基本功能。
55 9
|
2月前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
45 3
|
2月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
31 1
|
Java 大数据 Apache