Java基础—IO小结(待整理)

文件分割符:Windows中使用\
推荐路径使用方式(反斜杠):D:\KuGou\123.jpg  (D:\\KuGou\\123.jpg)

io异常的处理方式:io一定要写finally;

使用流一定要记得关闭!

创建源->选择流->操作(准备容器等)->关闭 有点类似于搬家

流的本质是数据传输
一 、IO流的分类

A.根据处理数据类型的不同分为:字符流和字节流

B.根据数据流向不同分为:输入流和输出流

C.按功能分:节点流(一线的,离源最近的)和处理流

二、字节流与字符流 输入流与输出流
字符流只能处理字符数据 字节流可以处理所有数据类型
只要是处理纯文本数据,就优先考虑使用字符流。 除此之外都使用字节流。
输入流:读操作 输出流:写操作

三、IO流对象
字节输入流 :InputStream
字节输出流:OutputStream
字符输入流: Reader 对象FileReader
字符输出流:Writer 对象FileWriter
转换流对象 InputStreamReader:字节到字符的桥梁

OutputStreamWriter:字符到字节的桥梁(可以一个字符串一个字符串的写入数据了)
处理流:1.缓冲流(在最基本的四个对象上加上Buffered) 字节流没有新增方法 字符流存在新增方法
使用新增方法不能发生多态
2.转换流 字节流转字符流(主要功能是解决乱码问题 编码与解码 char->byte为编码),构造时
可以指定编码集合,如InputStream in = new InputStreamReader(System.in,"UTF-8");
四、常用方法
1.Reader常见方法
int read();返回读到的字符比如要显示时 (char)b, 读到流末尾返回-1
int read(char[] cbuf) 将字符读入数组 返回的是读到字符的个数
close()关闭流
2.Writer常见方法
void write(char[] cbuf) 写入字符数组到流中
flush() 刷新该流的缓冲
close()关闭流
3.FileWriter
FileWriter(String fileName) 根据给定的文件名构造一个 FileWriter 对象。
eg:(省略异常处理部分 FileWriter fw=null try{}………………)

FileWriter fw=new FileWriter("test.txt");
fw.write("abcdefg");
fw.flush();
fw.close();

4.FileReader
FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader。
eg:

FileReader fr=new FileReader("test.txt");
int ch=0;
while((ch=fr.read())!=-1){
System.out.print((char)ch);
}
fr.close();

eg2:在前基础上使用read(char[] cbuf)
char[] buf=new char[1024];
5.作为修饰的带缓冲流
BufferedReader br=new BufferedReader(new FileReader("test.txt"));
特有方法readLine()读一行 返回读到的字符串

时间: 2024-07-29 14:06:39

Java基础—IO小结(待整理)的相关文章

Java基础—IO小结(二)缓冲流与其它流的使用

一.缓冲流的使用 每个字节流都有对应的缓冲流: BufferedInputStream / BufferedOutputStream 构造器: 方法摘要与对应节点流类似 使用缓冲流实现文件复制:实际中也是:其中流的关闭只需要关闭缓冲流,内部嵌套的字节流会自动关闭. @Test public void testBuffered1() { // 同样需要先关联文件,注意文本使用Reader Writer,非文本使用fis fos File file1 = new File("D:\\test\\1.

Java基础—IO小结(二)大纲待更新

一.缓冲流的使用 每个字节流都有对应的缓冲流: BufferedInputStream / BufferedOutputStream 构造器: 方法摘要与对应节点流类似 使用缓冲流实现文件复制:实际中也是 @Test public void testBuffered1() { // 同样需要先关联文件,注意文本使用Reader Writer,非文本使用fis fos File file1 = new File("D:\\test\\1.jpg"); File file2 = new F

《Java 基础系列》初步整理

<Java 基础系列>初步整理大概有 12 篇,主要内容为.: 抽象类和接口内部类修饰符装箱拆箱注解反射泛型异常集合IO字符串其他第一篇我们来聊聊抽象类和接口. "抽象类和接口"听起来是非常普遍的东西,有些朋友会觉得:这个太基础了吧,有啥好说的,你又来糊弄我. 这里写图片描述 事实上我在面试中不仅一次被问到相关的问题: 抽象类和接口之间的区别?什么时候创建抽象类?什么时候创建接口?设计框架时该如何选择?我比较喜欢这样的问题,答案可深可浅,体现了我们对日常工作的思考. 我们什

黑马程序员——Java基础---IO(下)

黑马程序员——Java基础---IO(下) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java除了基本的字节流.字符流之外,还提供了File类.properties类.打印流.序列流等和输入输出相关的类,它们能够帮助我们更好的处理信息.下面将对它们进行简单的介绍. 一.正

黑马程序员——java基础---IO(input output)流字符流

黑马程序员——java基础---IO(input output)流字符流 ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- io(input output)流特点: 1,io流用来处理数据之间的传输 2,java对数据的操作是通过流的方式: 3,java用于操作流的对象都在io包中: 4,流按操作数据分为两种:字节流和字符流: 5,流按流向分为:输入流和输出流. 注意:流只能操作数据,而不能操作文件. 3.IO流的常用基类: 1)字节流的抽象

JAVA基础—泛型小结

概念: 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法. Java语言引入泛型的好处是安全简单. 泛型的常用字符代表意思: ? 表示不确定的java类型. T  表示java类型. K V 分别代表java键值中的Key Value. E 代表Element. 下面转载于cnblog上一个写的很好的例子 真的很好,我写了半天,当看到他这个后,立即删除~ 普通泛型

黑马程序员——Java基础---io(上)

黑马程序员——Java基础---io(上) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java I/O系统负责处理程序的输入和输出,I/O类库位于java.io包中,它对各种常见的输入流和输出流进行了抽象.如果数据流中最小的数据单元是字节,那么称这种流为字节流:如果数据流

1.JAVA基础——IO

1.流的概念 一个对输入输出设备的抽象概念,JAVA中文件的操作都是以“流”的方式进行.可以把流理解成“管道”,数据通过管道得以从一端传输到另一端. 流具有方向性:一般而言这个方向是以程序作为参照,所以,输入流是指输向程序的流,输出流是指从程序输出的流:也可以理解成,程序从输入流获取数据,向输出流写数据. 流式输入输出的特点为:数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出后才能被读写.因此,流和队列一样,只能以“先进先出”的方式对其中的数据

JAVA 基础 IO操作

java.io操作是java基础中的基础,如果没有io操作程序都不会运行起来,所以,又回顾了一下java.io操作的内容,里面的对象序列化是J2EE的基础,是java中分布式部署和调用实现的基础,还有很有对文件系统.对网络资源的读写等等. 对于里面的个人觉的比较重要的知识做了一个图总结了一下.如下: 这里对于重点的理解和使用总结几点 1.概念理解 对于java.io的概念一直理解的有点偏差,首先这里面涉及到一个方向性的概念,即我们数据从哪里来到哪里去,在java.io操作中以及里面的很多概念和类