了解输入输出的概念

1)了解输入输出的概念
2)使用File类操作文件或目录
3)理解流的概念及分类
4)会使用字节流读写文本文件

图床测试

File类的常用方法

boolean exists( ) 判断文件或目录是否存在

boolean isFile( ) 判断是否是文件

boolean isDirectory( ) 判断是否是目录

String getPath( ) 返回此对象表示的文件的相对路径名

String getAbsolutePath( ) 返回此对象表示的文件的绝对路径名

String getName( ) 返回此对象表示的文件或目录的名称

boolean delete( ) 删除此对象指定的文件或目录

boolean createNewFile( ) 创建名称的空文件,不创建文件夹

long length() 返回文件的长度,单位为字节, 如果文件不存在,则返回 0L

通过流来读写文件

流是一组有序的数据序列

以先进先出方式发送信息的通道

按流向划分: 输出流和输入流

字节 -->InputStream–>输入流 OutputStream–>输出流

字符 --> Writer 字符输出流 Reader 字符输入流

FileInputStream 常用方法

InputStream类常用方法
int read( ):读一个下次就自动到下一个,如果碰到-1说明没有值了.
int read(byte[] b):字节流读取
int read(byte[] b,int off,int len) :从读取流读取一定数量的字节,
void close( ) :关闭流
int available():可以从输入流中读取的字节数目

子类FileInputStream常用的构造方法
FileInputStream(File file)
FileInputStream(String name)

FileOutputStream

OutputStream类常用方法
void write(int c) 写
void write(byte[] buf) 以字节数组的形式写入
void write(byte[] b,int off,int len)
void close() 关闭流
void flush():强制把缓冲区的数据写到输出流中

子类FileOutputStream常用的构造方法

FileOutputStream (File file)
FileOutputStream(String name)
FileOutputStream(String name,boolean append)

输入和输出处理二

会使用字符流读写文本文件
会使用字节流读写二进制文件
使用序列化和反序列化保持和恢复对象信息

Reader类

int read( )
int read(char[] c)
read(char[] c,int off,int len)
void close( )

子类InputStreamReader常用的构造方法

InputStreamReader(InputStream in)
InputStreamReader(InputStream in,String charsetName)

FileReader类

FileReader类是InputStreamReader的子类
FileReader(File file)
FileReader(String name)

System.out.println(System.getProperty(“file.encoding”)); 获得本地平台的字符编码类型

Writer类

write(String str)
write(String str,int off,int len)
void close()
void flush()

子类OutputStreamWriter常用的构造方法
OutputStreamWriter(OutputStream out)
OutputStreamWriter(OutputStream out,String charsetName)

FileWriter类

FileWriter (File file) 对象参数,可以存放对象,并操作对象相关

FileWriter (String name) 参数为字符串, 我们一般放文件路径

BufferedWriter类

BufferedWriter类是Writer类的子类
BufferedWriter类带有缓冲区

BufferedWriter常用的构造方法

BufferedWriter(Writer out)

读写二进制文件

DataInputStream类 -->是指数据输入流允许应用程序
FileInputStream的子类
与FileInputStream类结合使用读取二进制文件
DataOutputStream类
FileOutputStream的子类
与FileOutputStream类结合使用写二进制文件

序列化和反序列化

序列化是将对象的状态写入到特定的流中的过程

反序列化则是从特定的流中获取数据重新构建对象的过程

使用BufferedReader和BufferedWriter读写文本文件有什么优势?

复制二进制文件使用什么流?步骤是什么?

如何进行序列化和反序列化?

多线程

理解线程的概念

掌握线程的创建和启动

了解线程的状态

掌握线程调度的常用方法

掌握线程的同步

理解线程安全的类型

什么是多线程

如果在一个进程中同时运行了多个线程,用来完成不同的工作,则称之为“多线程”
多个线程交替占用CPU资源,而非真正的并行执行

多线程好处

充分利用CPU的资源
简化编程模型
带来良好的用户体验

在Java中创建线程的两种方式

继承java.lang.Thread类
实现java.lang.Runnable接口

多个线程交替执行,不是真正的“并行”
线程每次执行时长由分配的CPU时间片长度决定

比较两种创建线程的方式

继承Thread类
编写简单,可直接操作线程
适用于单继承

实现Runnable接口
避免单继承局限性
便于共享资源

线程的状态

创建状态 就绪状态 阻塞状态 运行状态 死亡状态

多个线程交替执行,不是真正的“并行”
线程每次执行时长由分配的CPU时间片长度决定

比较两种创建线程的方式

继承Thread类
编写简单,可直接操作线程
适用于单继承

实现Runnable接口
避免单继承局限性
便于共享资源

线程的状态

创建状态 就绪状态 阻塞状态 运行状态 死亡状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值