整理源于Java核心技术精讲
- 将字节输出流变为字符输出流 OutputStreamWriter (extends Writer)
- 将字节输入流变为字符输入流 InputStreamReader(extends Reader)
将字节输出流变为字符输出流
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
public class TestDemo {
public static void main(String[] args) throws IOException{
File file = new File("D:\\1\\text.txt");
if(!file.getParentFile().exists())
file.getParentFile().mkdirs();
if(!file.exists())
file.createNewFile();
OutputStream output = new FileOutputStream(file);//字节输出流
Writer w = new OutputStreamWriter(output);//用字节流对象初始化字符流,转化过程
w.write("hello world.");
w.close();
}
}
将字节输入流变为字符输入流
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
public class TestDemo {
public static void main(String[] args) throws IOException{
File file = new File("D:\\1\\text.txt");
if(!file.getParentFile().exists())
file.getParentFile().mkdirs();
if(!file.exists())
file.createNewFile();
InputStream input = new FileInputStream(file);//字节输入流
Reader r = new InputStreamReader(input);//将字节流转化为字符流
char[] data = new char[1024];
int len = r.read(data);
input.close();
r.close();
System.out.println(new String(data,0,len));
}
}