转换流概述:
OutputStreamWriter字符输出流
publicOutputStreamWriter(OutputStream out)
publicOutputStreamWriter(OutputStream out,String charsetName)
InputStreamReader字符输入流
publicInputStreamReader(InputStream in)
publicInputStreamReader(InputStream in,String charsetName)
OutputStreamWriter写数据:
OutputStreamWriter写数据方法
public voidwrite(int c):写一个字符
public voidwrite(char[] cbuf):写一个字符数组
public voidwrite(char[] cbuf,int off,int len):写一个字符数组的一部分
public voidwrite(String str):写一个字符串
public voidwrite(String str,int off,int len):写一个字符串的一部分
字符流操作要注意的问题
flush()的作用
flush()和close()的区别
例子1:一次写一个字符
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public classOutputStreamWriteDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建对象
OutputStreamWriterosw = newOutputStreamWriter(new FileOutputStream("a.txt"));
//写数据
osw.write('a');
osw.write(97);
osw.flush();
//关闭文件
osw.close();
}
}
例子3:字符流一次写一个字符数组
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public classOutputStreamWriteDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建对象
OutputStreamWriterosw = newOutputStreamWriter(new FileOutputStream("a.txt"));
//写数据
char[] chs = {'a','b','c','d'};
osw.write(chs);
//关闭文件
osw.close();
}
}
运行结果:
abcd
例子4:字符流一次写字符数组的一部分
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public classOutputStreamWriteDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建对象
OutputStreamWriterosw = newOutputStreamWriter(new FileOutputStream("a.txt"));
//写数据
// osw.write('a');
// osw.write(97);
// osw.flush();
char[] chs = {'a','b','c','d'};
osw.write(chs,1,3);
//关闭文件
osw.close();
}
}
运行结果:
bcd
例子5:字符流一次写一个字符串
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public classOutputStreamWriteDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建对象
OutputStreamWriterosw = newOutputStreamWriter(new FileOutputStream("a.txt"));
//写数据
osw.write("中华人民共和国");
//关闭文件
osw.close();
}
}
运行结果:
中华人民共和国
例子6:字符流一次写字符串的一部分
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
public classOutputStreamWriteDemo {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
//创建对象
OutputStreamWriterosw = newOutputStreamWriter(new FileOutputStream("a.txt"));
//写数据
osw.write("中华人民共和国",2,4);
//关闭文件
osw.close();
}
}