Java:字节流,字符流,转换流,读取,输入,保存【诗书画唱】

案例1:在项目根目录新建一个txt文件,提示用户输入内容,
知道输入“no”后结束输入,将其保存到该文件中,
要求保存的格式为UTF-8
package IOZhuanHuanLiu;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.sql.*;
import javax.swing.*;
public class liZi1 {
public static void main(String[] args) throws Exception{
// InputStreamReader:字节输入转换流
File f=new File("zhuanHuanLiu.txt");
// //判断这个文件是否存在:
if(f.exists()){
f.delete();
f.createNewFile();
}else{
f.createNewFile();
}
InputStreamReader ISR=new InputStreamReader(System.in);
BufferedReader BR=new BufferedReader(ISR);
//输出的位置:
FileOutputStream FOS=new FileOutputStream(f);
OutputStreamWriter OSW=new OutputStreamWriter(FOS,"utf-8");
String ziFuChuan;
while(!(ziFuChuan=BR.readLine()).equals("no")){
System.out.println(ziFuChuan);
OSW.write(ziFuChuan);
OSW.flush();//清空管道,即刷新
}
OSW.close();//结束,关闭,读和写都要最后关闭。
}
}


读取(已经)保存的文件的信息,要求读取的格式为utf-8

package IOZhuanHuanLiu;
import java.io.*;
public class lizi2 {
public static void main(String[] args) throws Exception{
// 案例2:读取保存的文件的信息,要求读取的格式分别
// 为utf-8
File File=new File("new.txt");
FileInputStream byteInput=new FileInputStream(File);
// FileInputStream:字节输入流
// FileOutputStream:字节输出流
InputStreamReader byteChangeInput
=new InputStreamReader(byteInput,"UTF-8");
// InputStreamReader:字节输入转换流
// OutputStreamWriter:字节输出转换流
char[] charArray=new char[100];
int len;
while((len=byteChangeInput.read(charArray))!=-1){
System.out.println(new String(charArray,0,len));
}
byteChangeInput.close();
}
}

