Java中的IO流中系统找不到指定文件该怎么处理?

2020-05-21 10:36发布

2条回答
爱吃鱼
2楼 · 2020-05-21 11:55

返回-1是对的啊,read字节数组的时候,读到最后一个没有的时候就数组越界异常,-1就是不在数组的索引值范围内,所以开发人员就将它作为read完成后的返回值

啦啦啦
3楼 · 2021-05-13 17:22

文件处理

1、 File:文件和目录(文件夹)路径名的抽象变现形式(并不一定真实存在)

2、 构造方法:

 a) File (String pathname) 根据一个路径得到File对象

 b) File(String parent, String child)根据一个目录和一个子文件/目录得到File对象

 c) File(File parent, String child )根据一个父File对象和一个子文件/目录得到File对象

3、 成员方法:

 a) 创建功能

  i. public boolean creatNewFile()创建文件,如果存在就不创建了。

   如果没写路径,只是写了文件名则直接在本工程的工程目录下创建文件

  ii. public boolean mkdir()创建文件夹,如果存在则不创建

  iii. public boolean mkdirs()创建多级文件夹,如果存在则不创建

 b) 删除功能

  i. public boolean delete() 删除文件或目录的对象,要删除的文件夹内不能包含文件或者文件夹

 c) 重命名功能

  i. public boolean renameTo(File dest) dest是修改后的文件名

   1. 如果修改后的文件和修改前的文件路径名相同则是重命名

   2. 如果修改后的文件和修改前的文件路径名不相同,就是改名并剪切

 d) 判断功能

  i. public boolean isDirectory ()判断是否是目录

  ii. public boolean isFile ()判断是否是文件

  iii. public boolean exists ()判断是否存在

  iv. public boolean canRead ()判断是否可读

  v. public boolean canWrite ()判断是否可写

  vi. public boolean isHidden ()判断是否隐藏

 e) 获取功能

  i. public String getAbsolutePath()获取绝对路径

  ii. public String getPath()获取相对路径

  iii. public String getName()获取文件名称

  iv. public long length()获取文件大小,字节数

  v. public long lastModified()获取最后一次修改时间毫秒值

  vi. public String [] list()返回一个字符串数组,字符串数组中包含指定目录下所有文件和文件夹的名称

  vii. public File listFiles() 获取指定目录下的所有文件夹或者文件夹的File数组对象。

  viii. public String [] list(FilenameFilter filter)返回一个字符串数组,

    字符串数组中包含指定目录下所有文件和文件夹的名称

   FilenameFilter为文件名称过滤器接口,可以实现此接口的方法,

    根据此方法获得文件夹对象下的文件夹和文件的名称以及路径

  ix. public File listFiles(FilenameFilter filter) 获取指定目录下的所有文件夹和文件的File数组对象。

   实例在下面给出

  x. public File getParentFile() 以文件对象的形式返回文件路径名

  xi. public String getParent() 以字符串格式返回文件路径

相关问题推荐

  • 回答 156

    对于每一位才开始接触JAVA的新手来说,先不要管算法和数据结构,大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后动手去实践。当我们在去...

  • 回答 93

    2个都很好就业,更关键的是要学得到东西

  • 回答 12
    已采纳

    获取Map集合中所有的key可以通过map集合的keySet()方法获取例如:    Map map = new HashMap();    map.put(xx,xx); //存放数据    //.... 省略    Set set = map.keySet();    //可以通过迭代器进行测试    Iterator iter = set.iter...

  • 回答 56
    已采纳

    不同年龄,不同掌握程度,学历,找工作城市,面试能力这是一个多方面影响的结果,如果是平均值的话,全国平均薪资14k左右

  • 回答 38

    具体学多久,根据自己的学习力,自律性、解决问题能力来决定若系统性学习,跟着讲师的节奏走,大概半年左右,有专业的讲师把课程进行规划,尽心系统学习,有问题,讲师会帮忙解决,学习的效率很高,避免了自学中出现各种问题解决不了,而耽误很多时间,可能会...

  • 回答 23
    已采纳

    (1)idea启动时会有两个快捷方式,安装完后默认生成在桌面的是32位的idea的快捷方式,如果我们使用这个快捷方式运行大项目,一般都会很卡。解决方法是找到idea的安装目录,然后进入bin文件夹,找到名称为idea64的应用程序,右键他生成桌面快捷方式。以后每次...

  • Java方法的命名规则2021-04-06 19:07
    回答 31

    ava是一种区分字母的大小写的语言,所以我们在定义变量名的时候应该注意区分大小写的使用和一些规范,接下来我们简单的来讲讲Java语言中包、类、变量等的命名规范。(一)Package(包)的命名Package的名字应该都是由一个小写单词组成,例如com、xuetang9、compan...

  • BIO与NIO、AIO的区别2020-05-19 15:59
    回答 4
    已采纳

    IO的方式通常分为几种,同步阻塞的BIO、同步非阻塞的NIO、异步非阻塞的AIO。一、BIO     在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启动一个ServerSocket,然后在客户端启动Socket来对服务端进行通信,默认情况下服务端需要...

  • 回答 2

    public class Point {    private int x;    private int y;    public int getX() {        return x;    }    public void setX(int x) {        this.x = x;    }    public int getY() {        return y;    } ...

  • 回答 6

    经典版单例模式public class Singleton {        private static Singleton uniqueInstance;//利用一个静态常量来记录singleton类的唯一实例。     private Singleton() {     }     public static  Singleton getInstance()...

  • 回答 3

    哈希表的长度一般是定长的,在存储数据之前我们应该知道我们存储的数据规模是多大,应该尽可能地避免频繁地让哈希表扩容。但是如果设计的太大,那么就会浪费空间,因为我们跟不用不到那么大的空间来存储我们当前的数据规模;如果设计的太小,那么就会很容易发...

  • 回答 14

    1. DOM(Document Object Model)        DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才...

  • 回答 19

    1)作用不同: throw用于程序员自行产生并抛出异常; throws用于声明在该方法内抛出了异常2) 使用的位置不同: throw位于方法体内部,可以作为单独语句使用; throws必须跟在方法参数列表的后面,不能单独使用。3)内容不同: throw抛出一个异常对象,且只能是...

  • 回答 11

    基本执行过程如下:1)程序首先执行可能发生异常的try语句块。2)如果try语句没有出现异常则执行完后跳至finally语句块执行;3)如果try语句出现异常,则中断执行并根据发生的异常类型跳至相应的catch语句块执行处理。4)catch语句块可以有多个,分别捕获不同类型...

  • 回答 20

    100-199 用于指定客户端应相应的某些动作。 200-299 用于表示请求成功。 300-399 用于已经移动的文件并且常被包含在定位头信息中指定新的地址信息。 400-499 用于指出客户端的错误。 400 语义有误,当前请求无法被服务器理解。 401 当前请求需要用户验证...

  • 回答 16

    异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误,只要程序设计得没有问题通常就不会发生。受检异常跟程序运行的上下文环境有关,即使程序设计无误,仍然可能因使用的问题而引发。Java编译...

没有解决我的问题,去提问