一、分段读取文件字符输入流
读取的文件对象(abc.txt)是之前就创建好的。
abc.txt文件中的内容如下图:

import java
.io
.File
;
import java
.io
.FileInputStream
;
import java
.io
.FileNotFoundException
;
import java
.io
.FileReader
;
import java
.io
.IOException
;
import java
.io
.InputStream
;
import java
.io
.Reader
;
/**
* 分段读取 字符文件输入流
* 1,创建源
* 2,选择流
* 3,操作
* 4,释放资源
* @author Administrator
*
*/
public class IOTest05 {
public static void main(String
[] args
) {
//1,创建源(文件是已经创建好的,而且里面本来就有内容)
File src
=new File("abc.txt");
Reader reader
=null
;
//2,选择流
try {
reader
=new FileReader(src
);
//3,操作(分段读取)
char[] flush
=new char[1024];//中间的缓冲容器
int len
=-1;//接收长度初始化值
while((len
=reader
.read(flush
))!=-1) {//is.read(car)返回的是一个int值,当前读取字节的长度
//字符数组--->字符串
String str
=new String(flush
,0,len
);
System
.out
.println(str
);
}
} catch (FileNotFoundException e
) {
e
.printStackTrace();
} catch (IOException e
) {
e
.printStackTrace();
}finally {
//4,释放资源
try {
if(null
!=reader
) {
reader
.close();
}
} catch (IOException e
) {
e
.printStackTrace();
}
}
}
}
代码运行结果如下图:(读取该文件的内容)

二、文件字符输出流
(创建文件(该文件之前并不存在)并且在文件中写入要写的内容)
代码如下:
import java
.io
.File
;
import java
.io
.FileInputStream
;
import java
.io
.FileNotFoundException
;
import java
.io
.FileOutputStream
;
import java
.io
.FileWriter
;
import java
.io
.IOException
;
import java
.io
.InputStream
;
import java
.io
.OutputStream
;
import java
.io
.Writer
;
/**
*文件字符输出流
* 1,创建源
* 2,选择流
* 3,操作(写出内容)
* 4,释放资源
* @author Administrator
*
*/
public class IOTest06 {
public static void main(String
[] args
) {
//1,创建源(文件是不存在的)
File dest
=new File("dest1.txt");//这个文件不存在,(自动创建)
// 2,选择流
Writer writer
=null
;
try {
writer
=new FileWriter(dest
);//true代表可以在dest文件中追加内容,
//若为false,则意味着将原来的文件内容删除,重新写入
//3,操作(写出)
String msg
="IO is so easy \r\n咿咿呀呀。哈哈哈,国超你真的笑死我了哈哈!!!\r\n";//\r\n为换行
//字符串怎么到字符数组???(通过字符串对象的toCharArray()方法)
//非常重要!!!
//写法一
// char[] datas=msg.toCharArray();//字符串--->字符数组
// writer.write(datas, 0, datas.length);
// writer.flush();
//写法二
// writer.write(msg);//字符串也是字符数组
// writer.flush();
//写法三
writer
.append("IO is so easy \r\n").append("哥哥的背不是背,保加利亚的玫瑰!!!");//字符串也是字符数组
writer
.flush();
}catch(FileNotFoundException e
){
e
.printStackTrace();
}catch (IOException e
) {
e
.printStackTrace();
}finally {
//4,释放资源
try {
if(null
!=writer
) {
writer
.close();
}
}catch(Exception e
) {
}
}
}
}
需要写入文件dest1.txt文件的内容如下:

最终的写入情况的运行结果如下:

好啦,关于字符流的读取,写入情况就是上面的两个例子,对于字节流的读取和写入可以看下面:
Java字节流文件读取和写入的代码例子