Java 日看一类(18)之IO包中的FileNameFilter接口类和FileNotFoundException异常类

从零开始搭建Proxmox VE虚拟化网络:手把手教你配置桥接、VLAN和链路聚合 本文详细介绍了如何在Proxmox VE虚拟化环境中配置桥接、VLAN和链路聚合网络。通过分步指南和实战案例,帮助用户掌握Linux Bridge、VLAN隔离和Bonding技术,构建高性能、高可用的企业级虚拟化网络架构。 阅读详情

FileNameFilter接口未引入任何包



该类类头注释如下:

/**
 * Instances of classes that implement this interface are used to
 * filter filenames. These instances are used to filter directory
 * listings in the <code>list</code> method of class
 * <code>File</code>, and by the Abstract Window Toolkit's file
 * dialog component.
 *
 * @author  Arthur van Hoff
 * @author  Jonathan Payne
 * @see     java.awt.FileDialog#setFilenameFilter(java.io.FilenameFilter)
 * @see     java.io.File
 * @see     java.io.File#list(java.io.FilenameFilter)
 * @since   JDK1.0
 */

大意如下:

实现该接口的类可对文件名进行过滤

Abstract Window Toolkit 的文件对话框组件使用这些实例过滤File类的list方法中的目录清单




仅含有一个成员方法:

检测特定的文件是否存在于该文件列表中(dir中为文件所在目录,string为文件名

boolean accept(File dir, String name);



该类十分简单,不再过多叙述



FileNotFoundException异常类继承自IOException


类头注释如下:

/**
 * Signals that an attempt to open the file denoted by a specified pathname
 * has failed.
 *
 * <p> This exception will be thrown by the {@link FileInputStream}, {@link
 * FileOutputStream}, and {@link RandomAccessFile} constructors when a file
 * with the specified pathname does not exist.  It will also be thrown by these
 * constructors if the file does exist but for some reason is inaccessible, for
 * example when an attempt is made to open a read-only file for writing.
 *
 * @author  unascribed
 * @since   JDK1.0
 */

大意如下:

该异常类标志着打开指定路径文件失败

当需要打开的文件不存在时这个异常将会被FileInputStream,FileOutputStream,RandomAccessFile的构造函数抛出

当需要打开的文件由于某些特定原因无法打开时(如尝试去用写入方式打开只读文件)也会被抛出



该类含有一个成员变量:

序列化ID:

private static final long serialVersionUID = -897856973823710492L;


含有三个方法:

默认构造方法:直接调用父类构造方法

public FileNotFoundException() {
    super();
}

构造方法:(也对应父类构造方法,把具体错误信息的字符串传递给父类

public FileNotFoundException(String s) {
    super(s);
}

构造方法:仅能被native IO方法调用(私有),传递出错的路径和错误原因

private FileNotFoundException(String path, String reason) {
    super(path + ((reason == null)//检测错误原因是否为空
                  ? ""
                  : " (" + reason + ")"));
}



这个类也十分简单,编写时遇到该异常知道错误原因即可


不会C# Winform用户界面设计?是因为没有掌握这些控件(建议收藏) 文章目录6.1 常用控件6.1.1 单选按钮(RadioButton)6.1.2 复选框(CheckBox)6.1.3 框架1. 面板控件Panel2. 分组框GroupBox3. TabControl控件6.1.4 应用实例6. 2 列表框和组合框6.2.1 列表框(ListBox)6.2.2 组合框(ComboBox )6.2.3 应用实例6.3 用户交互界面6.3.1 滚动条和进度条6.3.2 定时器6.3.3 菜单设计菜单设计概述MenuStrip和ContextMenuSt 阅读详情

相关推荐

一份针对零基础学习AI Agent详细学习计划

以下是针对零基础学习者制定的AI Agent详细学习计划,结合最新行业动态和实用资源推荐,帮助你从入门到进阶系统掌握核心技能

sexy19910923的博客 1905

记一遇到使用java模拟https请求java.io.FileNotFoundException问题解决思路参考

遇到使用java模拟https请求java.io.FileNotFoundException问题解决思路参考 java.io.FileNotFoundException: https://linpxing.cn/%E7%B2%A4B66578 at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnect...

与时代同行 liwei 5876

复旦微FMQL45T900平台RGMII网口调试实战:从PHY寄存器读取异常到链路建立

本文详细记录了复旦微FMQL45T900平台RGMII网口调试的全过程,重点解决了PHY寄存器读取异常问题。通过电压配置调整、时序优化和硬件信号完整性检查,最终成功建立网络链路。文章提供了实用的调试经验和解决方案,适合嵌入式开发人员参考。

weixin_29193359的博客 288

springboot异步文件上传获取输入流提示找不到文件java.io.FileNotFoundException

所以想要在异步方法也能读取到上传的文件,可以在开启异步之前就打开一个输入流,然后通过传参的方式将输入流传到异步方法内。在异步方法内使用完毕再释放输入流。开启bebug模式,在文件上传的时候,系统会字段在本地创建一个临时的缓存文件,在接受请求的方法内调用文件对象获取输入流,也是按照这个地址来创建输入流。个人想法:因为当前文件上传的业务逻辑是调用异步方法,然后直接就返回,估计接收请求的方法在返回之前,如果缓存文件没有正在被使用,框架就会将缓存文件删除。看文件的后缀是一个缓存文件,找不到缓存文件,太奇怪了。

weixin_43975276的博客 2572

(实战)[re:Invent 2018]-001:赛道分析-(致敬1024)

打印log

Rainbow 2784

K-BERT: Enabling Language Representation with Knowledge Graph 代码复现 直接运行

K-BERT: Enabling Language Representation with Knowledge Graph K-BERT K-BERT 代码复现

1074

IDEA运行正常,jar包报路径未找到java.io.FileNotFoundException:

正常运行的代码,打成jar包运行,报java.io.FileNotFoundException:。即:解决如何从jar包读取资源问题

qq_52519229的博客 4935

全新YOLOv11有效涨点改进专栏目录 | 本专栏持续更新500+篇内容 | 包含各种卷积、主干网络、各种注意力机制、检测头、损失函数、小目标检测改进、二次创新模块、独家创新等几百种创新点改进

YOLOv11专栏持续更新500+种创新改进方案,涵盖卷积优化、注意力机制、主干网络、Neck特征融合、检测头、小目标检测等核心模块。提供独家创新点组合方案、模型轻量化改进及最新Mamba架构融合技术,配套完整实验代码和训练参数解析。订阅用户可加入专属答疑群,获取一键运行项目支持。专栏包含YOLOv11网络结构详解、配置文件解读等入门必读内容,助力科研论文发表与模型性能提升。限时开放订阅通道,提供多种涨点改进方案组合,满足不同研究需求。

Ai缝合怪、助力小伙伴高效发论文 4014

【已解决】在linux部署出现java文件操作报错:java.io.FileNotFoundException

在部署环境,要使用 InputStream inputStream = resource.getInputStream();这个方法。

qq_26112725的博客 3367

手把手教你模拟登录豆瓣并爬取个人书影音数据:从Cookie解析到反爬攻防实战

在开始写代码之前,先明确我们需要的工具。:建议用3.10以上版本,方便使用一些新特性(如match语句)httpx:比requests更现代,支持HTTP/2,异步性能强,连接池复用好:解析HTML,语法简单,容错性强selenium:仅用于处理登录时的滑块验证(模拟真人)pandas:最终数据清洗和导出Excel/CSVretrying:自动重试机制,应对临时封禁:随机UA,降低特征lxml:作为BeautifulSoup的解析器,速度快为什么不只用requests?

2201_76125261的博客 578

Allegro174版本如何关闭模块复用后铜皮自动从动态变成静态操作指导

在用Allegro进行PCB设计的时候,模块复用是使用的十分频繁的操作,当Allegro升级到了174 S034版本的时候,当使用模块复用的功能的时候,模块内的铜皮会自动动静转换,大部分情况是不需要的。版本如何关闭模块复用后铜皮自动从动态变成静态操作指导。如何关闭这个功能,具体操作如下。

weixin_54787054的博客 1262

【解惑】深入jar包:从jar包中读取资源文件

     我们常常在代码中读取一些资源文件(比如图片,音乐,文本等等)。在单独运行的时候这些简单的处理当然不会有问题。但是,如果我们把代码打成一个jar包以后,即使将资源文件一并打包,这些东西也找不出来了。看看下面的代码: //源代码1: package edu.hxraid; import java.io.*; public class Resource { public vo...

ccnunlp的专栏 3574

嵌入式工程师成长之路(10)——项目举例

送给大学毕业后找不到奋斗方向的你(每周不定时更新)

云轩阁 5万+

读取共享文件java.io.FileNotFoundException(拒绝访问)

读取其他服务器共享文件的时候出现的:服务我是用在windows上的,我换了tomcat7,8,9都不行,直接服务器上放了eclipse跑main却可以!!!最后经过多轮测试后发现,我的tomcat是注册成服务了,在服务里面跑用的本地账户导致权限不足可能是,然后访问不到,解决方案1:直接使用startup.bat启动即可恢复!

神奇的饭团的博客 2715

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

记录一个坑: java.io.FileNotFoundException

今天在公司撸代码的时候, 有一个需求是去远端服务器下载到本地之后,然后读取本地下载的文件,然后进行操作, 代码如下: 然后就提示: 然后我看了下 文件是真实存在的,路径也是对得, 咋回事 ,百撕不得骑姐后面仔细一想路径没有问题,那么一定是出现在文件名称上 哎 一看文件名称也是对的,然后显示下文件的后缀名看下: 原来的文件夹后缀名选择默认是不展示的, 我在创建文件的时候加了个后缀名.txt, 本来是test.txt 现在是test.txt.txt ,真是离谱他妈给离谱他家开门,离谱到家了 ...

你我一起进步 6058

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Struts2上传文件路径问题小解

得益于Struts2的包装,使得上传文件变得十分简单,可是对于上传的文件究竟保存到哪里去了?还有为什么可能会抛出FileNotFoundException呢?我试了几次,大概领悟到了什么,记录下来,给新手看看。本人才疏学浅,望各位不吝指教。 至于Struts2的怎样实现上传,这个网上着实一大把,由于不是本篇的核心,所以,不赘述。 1、不指定目录情况下,文件会被上传到Tomcat的Bi...

anxunmu0298的博客 190

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java listfile 参数_java – 类型List不是通用的;它不能参数化参数[HTTPClient]

import java.awt.List;import java.awt.image.BufferedImage;import java.io.BufferedReader;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.InputStreamReader;import java.util.ArrayL...

weixin_36237054的博客 311

java.io.FileNotFoundException异常的原因

java.io.FileNotFoundException异常出现的情况就是你的代码里面想要读取的文件找不到,注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,很多同学说自己工程里面有这个文件,为什么还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,比如tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件

杜仁栋的专栏 5万+

JAVA HttpURLConnection IO.FIleNotFoundException

今天在改写项目的时候,发现用HttpURLConnection 模拟一个POST方法提交到服务器报错IO.FIleNotFoundException仅仅是换了一个URL导致问题出现。代码如下:                          HttpURLConnection conn = (HttpURLConnection)uri1.openConnection();   conn.se...

u011016389的博客 6945

JAVA:post 提交Json对象请求的正确方法(Post请求时抛java.io.FileNotFoundException异常解决)

问题 服务端Controller的入参用@RequestBody接收的Json对象,本地用Post请求访问服务端返回java.io.FileNotFoundException。 确认url正确的情况下,这个异常说明的是入参方式不正确,无法匹配到正确请求地址,出现这种情况的原因很可能是请求参数和接收参数的类型不一致导致,而且注意需要将Post的Content-Type设置为"application/json"。 以下介绍post 提交Json对象请求的正确方法,同时也解决以上出现的问题。 解决方案

奋斗鱼 4335

使用HttpURLConnection下载文件时出现 java.io.FileNotFoundException彻底解决办法

使用HttpURLConnection下载文件时经常会出现 java.io.FileNotFoundException文件找不到异常,下面介绍下解决办法 首先设置tomcat对get数据的编码:conf/server.xml <Connector port="8080" protocol="HTTP/1.1" connectionTime

Dream It Possible 1万+

HttpURLConnection抛异常java.io.FileNotFoundException

今天在调试app的时候,用HttpURLConnection获取服务器数据的时候出现了java.io.FileNotFoundException异常,原因还不太明了,不过已经找到了解决方法。 由于我们的服务器数据有两种类型,一种是xml(请求带参数,即post方式),一种是json格式(请求参数直接附加在url后面,应该是get方式)。 之前请求这两种数据都是用同一种方式获取的即pos

网鱼的栈 4万+

Python之异常处理

try…except…else的语法: try: <语句> #运行别的代码 except <名字>: <语句> #如果在try部份引发了'name'异常 except <名字>,<数据>: <语句> #如果引发了'name'异常,获得附加的数据 else: <语句> #如果没有异常发生 finally: <语句> #不管出不出异常,都执行fin

weixin_46944979的博客 1236

private static final long serialVersionUID的作用

原文 今天在看项目源码的时候发现struts的action里面有 [java] view plaincopy private static final long serialVersionUID = -1672970955045193907L;   这样的一条语句。 中文搜索之后,全部都是 如果你修改了此类, 要修改此

leo1949asd的专栏 2690

private static final long serialVersionUID = 5461344781588144485L;是什么意思,后面的号码是如何生成的

serialVersionUID 用来表明类的不同版本间的兼容性。 序列化的时候,被序列化的类要有一个唯一标记。客户端和服务端必须需要同一个对象,serialVersionUID的唯一值判定其为同一个对象。 后面的号码是自动生成的,只要是唯一的就行,通常为1,此行语句去掉在练习的时候也没有什么影响,只不过此实例类会报一个警告。将鼠标放到警告上,选择第一个解决方案,就会重新加上此行语句,后面的数...

腾讯云云开发布道师,慕课网合作讲师 3万+

private static final long serialVersionUID = -7740022289300744332L;

使用ObjectInputStream流经常会出现java.io.InvalidClassException: io.Person; local class incompatible: stream classdesc serialVersionUID = 5042645640615883184, local class serialVersionUID = -7211809038405172638的错误。 那是因为被保存的对象继承了Serializable,所以先前保存的对象已经有一个序列号,如果将类进行

Kingof_的博客 792
上一篇: Java 日看一类(17)之IO包中的FileInputStream类
下一篇: Java 日看一类(19)之IO包中的FileOutputStream类
wyf95278
博客等级 码龄10年 38粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值