字符流
字符流 = 字节流 + 编码表
字节流存储数据:
gbk:一个汉字占两个字节
uft-8:一个汉字占三个字节
区分汉字:第一个字节都是负数。
编码和解码:
编码:ASCALL、GBK、UTF-8 将字符转换为字节
byte[] getBytes() 返回一个字节数组 默认是用UTF-8解码表
byte[] getBytes(String charsetName) 后面指定一个编码表
解码:将字符对应的字节编码解析成新的字符
String(byte[] bytes)
String(byte[] bytes,String charsetName)
file
构造方法:
1、File(String pathname) 给绝对路径
2、(String parent,String child) 目录 路径
3、(File parent,String child) 目录变量 路径
创建方法:
createNewFile mkdir mkdirs
文件 目录 多级目录
字节输入输出流、字符输入输出流、字节、字符缓冲输入输出流
基本流程:
1、创建对象
2、读取、写数据
3、释放资源
字符缓冲输入输入流用的最多 速度快
1、创建字符缓冲流输入、输出对象:
new BufferedWriter(new FileWriter(“路径”)) -----------Output
new BufferedReader(new FileReader(“路径”))-----------Input
2、读取、赋值、写(你想要进行的操作)
//一个字节读取
int by;
while((by = br.read()) != -1){
sout((char)by);
}
//一个字节数组读取
int len;
char[] chs = new char[1024];
while((len = br.read(chs)) != -1){
sout(new String(chs,0,len))
}
//还可以行进行操作(写的操作也是相同,br.newLine())
String line;
while((line = br.readLine()) != null){
sout(line)
br.flush;//缓冲 更快
}