摘要:Java基础面试题以及个人总结
I/O流基础知识总结
io即输入输出流,
如何区分输入还是输入流
以内存为中介,当我们是将数据存储到内存即为输入,反之存储到外部存储器,即为输出
在Java中分输入输出流,根据数据处理又可以分为字节流和字符流
按输入输出流分
InputStream 字节输入流
Reader 字符输入流
OutputStream 字节输出流
Writer 字符输出流
以上都是抽象类
InputStream-字节输入流
1 | try (InputStream fis = new FileInputStream("input.txt")) { |
一般不会直接使用FileInputStream,而是会先使用BufferedInputStream字节缓冲输入流
例子
1 | // 新建一个 BufferedInputStream 对象 |
1 | 使用前提:必须以FileInputStream作为构造参数才能使用 |
1 | 在输入流中读取Java对象,称为反序列化 |
OutputStream-字节输出流
常见的方法
write(int b) 将特定的字节写入输出流
(byte b[ ]) 将数组b 写入输出流
(byte b[ ], int off ,int len)参数一表示要写入的字节数组,参数二是写入的起始位置,参数三是要读取的最大字节数
flush() 刷新此输出流并强制写出所有缓冲的输出字节
close() 关闭输出流,释放资源
1 | try (FileOutputStream output = new FileOutputStream("output.txt")) { |
1 | // 输出流 |
1 | 将对象写入到输出流 |