【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(), "");
    }
  }


文章小尾巴


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


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


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

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


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


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



目录
相关文章
|
6月前
|
Java Unix Go
【Java】(8)Stream流、文件File相关操作,IO的含义与运用
Java 为 I/O 提供了强大的而灵活的支持,使其更广泛地应用到文件传输和网络编程中。!但本节讲述最基本的和流与 I/O 相关的功能。我们将通过一个个例子来学习这些功能。
264 1
|
7月前
|
安全 架构师 Java
90% Java新手踩坑!彻底搞懂这4个权限修饰符
Java权限修饰符看似简单,却暗藏致命风险:`public`暴露数据、`protected`跨包失控、默认权限成地雷。本文通过3大真实案例+1张神图,深度解析`private`、`default`、`protected`、`public`的作用域与内存可见性,揭示Spring Bean、继承陷阱、包级漏洞的根源,并奉上防御性编程5大原则,助你筑牢代码第一道防线。
310 1
|
8月前
|
安全 前端开发 Java
Java包管理与访问控制权限详解
本文深入讲解Java包管理和访问控制,涵盖包的创建与使用、访问权限的四个层级,并结合实战案例分析如何设计合理的包结构和访问权限,帮助开发者提升代码的安全性与可维护性。
|
9月前
|
监控 Java API
Java语言按文件创建日期排序及获取最新文件的技术
这段代码实现了文件创建时间的读取、文件列表的获取与排序以及获取最新文件的需求。它具备良好的效率和可读性,对于绝大多数处理文件属性相关的需求来说足够健壮。在实际应用中,根据具体情况,可能还需要进一步处理如访问权限不足、文件系统不支持某些属性等边界情况。
404 14
|
9月前
|
存储 Java 编译器
深入理解Java虚拟机--类文件结构
本内容介绍了Java虚拟机与Class文件的关系及其内部结构。Class文件是一种与语言无关的二进制格式,包含JVM指令集、符号表等信息。无论使用何种语言,只要能生成符合规范的Class文件,即可在JVM上运行。文章详细解析了Class文件的组成,包括魔数、版本号、常量池、访问标志、类索引、字段表、方法表和属性表等,并说明其在Java编译与运行过程中的作用。
259 0
|
9月前
|
存储 人工智能 Java
java之通过Http下载文件
本文介绍了使用Java实现通过文件链接下载文件到本地的方法,主要涉及URL、HttpURLConnection及输入输出流的操作。
635 0
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
Java 大数据
解析Java中的NIO与传统IO的区别与应用
解析Java中的NIO与传统IO的区别与应用
|
Java 大数据 API
Java 流(Stream)、文件(File)和IO的区别
Java中的流(Stream)、文件(File)和输入/输出(I/O)是处理数据的关键概念。`File`类用于基本文件操作,如创建、删除和检查文件;流则提供了数据读写的抽象机制,适用于文件、内存和网络等多种数据源;I/O涵盖更广泛的输入输出操作,包括文件I/O、网络通信等,并支持异常处理和缓冲等功能。实际开发中,这三者常结合使用,以实现高效的数据处理。例如,`File`用于管理文件路径,`Stream`用于读写数据,I/O则处理复杂的输入输出需求。
852 12
|
Java 数据处理
Java IO 接口(Input)究竟隐藏着怎样的神秘用法?快来一探究竟,解锁高效编程新境界!
【8月更文挑战第22天】Java的输入输出(IO)操作至关重要,它支持从多种来源读取数据,如文件、网络等。常用输入流包括`FileInputStream`,适用于按字节读取文件;结合`BufferedInputStream`可提升读取效率。此外,通过`Socket`和相关输入流,还能实现网络数据读取。合理选用这些流能有效支持程序的数据处理需求。
666 2