java编程之IO之File类及常用方法

简介: Error和RuntimeException这一类的异常 运行时 javac编译的时候不检测 不需要主动添加处理异常的手段 当然我们愿意的话 也可以添加 除了上述以外其他的异常都需要做检测 要求我们必须添加处理异常的手段 编译不过去处理异常的手段 try{}catch(){}finally{} 1.try不能单独出现 后面必须跟着其他的一个结构 catch或finally都可以 2.catch可以出现很多个 要么多个catch捕获的异常没有继承关系 要么先捕获小 再捕获大 3.final

知识回顾

   Throwable

   Error     Exception

   错误          异常

   通常是一些物理性错误        人为规定的不正常现象

   StackOverflowError  

   运行时RuntimeException----->熟悉常见的运行时异常

   OutOfMemoryError 编译时

Error和RuntimeException这一类的异常

   运行时  javac编译的时候不检测

   不需要主动添加处理异常的手段  

   当然我们愿意的话  也可以添加

   除了上述以外其他的异常都需要做检测  

   要求我们必须添加处理异常的手段  编译不过去

处理异常的手段

   try{}catch(){}finally{}

   1.try不能单独出现  后面必须跟着其他的一个结构

   catch或finally都可以

   2.catch可以出现很多个

   要么多个catch捕获的异常没有继承关系  要么先捕获小 再捕获大

   3.finally可有可无的  若添加了这个结构 则必须执行

   即便是放在方法中 之前有return 也会执行

   4.注意方法内部返回值问题

   5.finally可能会出现一个笔试题   final  finally  finalize区别

throws

   1.只能在方法和构造方法结构上存在(抛出异常)

   2.谁调用此方法  谁处理异常

   3.抛出的异常也可以有多个  用,隔开  

自定义

   1.写一个类  继承Exception   RuntimeException

   2.类中可以写带String参数的构造方法  可以做细致的说明

   3.通过throw关键字   new一个异常的对象

   I/O相关 输入/输出    流(数据流动)

   数据流动的方向   读数据(输入Input)   写数据(输出output)

   文件流  字符流  对象流  网络流....

1.什么叫文件

   一种电脑的存储形式

   文件有不同的格式   .txt   .doc   .ppt   .mp4   .jpg   .rar   ...

   文件夹?----目录路径

   File----->与电脑上的文件或文件夹产生一一对应的映射关系

File是一个类

   1.java.io包中

   2.文件或目录路径名的抽象表示形式

   3.File与真实硬盘中的文件或文件夹  不是一个东西

     File是在内存中的一个对象<---映射--->硬盘上的文件或文件夹

   4.File类中的常用的方法

   canRead()   canWrite()   isHidden()   isFile()   isDirectory()

   length()获取文件中字节的个数

   lastModified()获取文件最后的修改时间--->毫秒值

   String path = getAbsolutePath()  获取文件的绝对路径   D://test//Test.txt

   绝对路径<---->相对路径

   绝对路径可以通过完整的字符串  定位盘符 文件夹 文件

   相对路径没有盘符的写法  

   当前工程(项目)所在的位置找寻

   C:\Users\Administrator\IdeaProjects\TestFile

   String name = getName() 获取文件的名字    Test.txt

   boolean = createNewFile()  创建新的文件

   boolean = mkdir               创建新的文件夹  外层没有 不能创建

   boolean = mkdirs             创建新的文件夹  外层没有 可以自动创建

   String pname = getParent()  获取当前file的父亲file名字

   File file = getParentFile()      获取当前file的父亲file对象

   String[] names = list()            获取当前file的所有儿子名字

   File[] files = listFiles()             获取当前file的所有儿子对象

   boolean = delete() 删除文件或空的文件夹  不能删除带元素的文件夹

2.什么叫文件流   做什么

   读取文件中的内容  向文件中写内容

   文件输入流     文件输出流

   字节型文件输入流  字节型文件输出流

   字符型文件输入流  字符型文件输出流

目录
相关文章
|
30天前
|
Java 程序员
Java编程中的异常处理:从基础到高级
在Java的世界中,异常处理是代码健壮性的守护神。本文将带你从异常的基本概念出发,逐步深入到高级用法,探索如何优雅地处理程序中的错误和异常情况。通过实际案例,我们将一起学习如何编写更可靠、更易于维护的Java代码。准备好了吗?让我们一起踏上这段旅程,解锁Java异常处理的秘密!
|
10天前
|
存储 缓存 Java
Java 并发编程——volatile 关键字解析
本文介绍了Java线程中的`volatile`关键字及其与`synchronized`锁的区别。`volatile`保证了变量的可见性和一定的有序性,但不能保证原子性。它通过内存屏障实现,避免指令重排序,确保线程间数据一致。相比`synchronized`,`volatile`性能更优,适用于简单状态标记和某些特定场景,如单例模式中的双重检查锁定。文中还解释了Java内存模型的基本概念,包括主内存、工作内存及并发编程中的原子性、可见性和有序性。
Java 并发编程——volatile 关键字解析
|
2月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
158 57
|
14天前
|
算法 Java 调度
java并发编程中Monitor里的waitSet和EntryList都是做什么的
在Java并发编程中,Monitor内部包含两个重要队列:等待集(Wait Set)和入口列表(Entry List)。Wait Set用于线程的条件等待和协作,线程调用`wait()`后进入此集合,通过`notify()`或`notifyAll()`唤醒。Entry List则管理锁的竞争,未能获取锁的线程在此排队,等待锁释放后重新竞争。理解两者区别有助于设计高效的多线程程序。 - **Wait Set**:线程调用`wait()`后进入,等待条件满足被唤醒,需重新竞争锁。 - **Entry List**:多个线程竞争锁时,未获锁的线程在此排队,等待锁释放后获取锁继续执行。
49 12
|
10天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
10天前
|
存储 安全 Java
Java多线程编程秘籍:各种方案一网打尽,不要错过!
Java 中实现多线程的方式主要有四种:继承 Thread 类、实现 Runnable 接口、实现 Callable 接口和使用线程池。每种方式各有优缺点,适用于不同的场景。继承 Thread 类最简单,实现 Runnable 接口更灵活,Callable 接口支持返回结果,线程池则便于管理和复用线程。实际应用中可根据需求选择合适的方式。此外,还介绍了多线程相关的常见面试问题及答案,涵盖线程概念、线程安全、线程池等知识点。
91 2
|
2月前
|
设计模式 Java 开发者
Java多线程编程的陷阱与解决方案####
本文深入探讨了Java多线程编程中常见的问题及其解决策略。通过分析竞态条件、死锁、活锁等典型场景,并结合代码示例和实用技巧,帮助开发者有效避免这些陷阱,提升并发程序的稳定性和性能。 ####
|
2月前
|
缓存 Java 开发者
Java多线程编程的陷阱与最佳实践####
本文深入探讨了Java多线程编程中常见的陷阱,如竞态条件、死锁和内存一致性错误,并提供了实用的避免策略。通过分析典型错误案例,本文旨在帮助开发者更好地理解和掌握多线程环境下的编程技巧,从而提升并发程序的稳定性和性能。 ####
|
27天前
|
安全 算法 Java
Java多线程编程中的陷阱与最佳实践####
本文探讨了Java多线程编程中常见的陷阱,并介绍了如何通过最佳实践来避免这些问题。我们将从基础概念入手,逐步深入到具体的代码示例,帮助开发者更好地理解和应用多线程技术。无论是初学者还是有经验的开发者,都能从中获得有价值的见解和建议。 ####
|
27天前
|
Java 调度
Java中的多线程编程与并发控制
本文深入探讨了Java编程语言中多线程编程的基础知识和并发控制机制。文章首先介绍了多线程的基本概念,包括线程的定义、生命周期以及在Java中创建和管理线程的方法。接着,详细讲解了Java提供的同步机制,如synchronized关键字、wait()和notify()方法等,以及如何通过这些机制实现线程间的协调与通信。最后,本文还讨论了一些常见的并发问题,例如死锁、竞态条件等,并提供了相应的解决策略。
50 3