输入输出流
使用I/O处理技术可以将数据保存到文本文档中、二进制文档,zip压缩文件中,以达到永久保存数据的要求
*****输入输出流*****
输入输出流一般分为字节输入流,字节输出流,字符输出流,字符输入流。
分别由4个抽象类来表示:InputStream,OutputStream,Reader,Writer
***字节流***
InputStream是所有表示位输入流的父类,它是一个抽象类,继承它的子类要重新定义其中所定义的抽象方法。
OutputStream是所有表示位输出流的父类,它是一个抽象类,继承它的子类要重新定义其中所定义的抽象方法。
**FileInputStream和FileOutputStream**
FileInputStream和FileOutputStream类分别用来创建磁盘文件的输入流和输出流对象,通过他们的构造方法来指定文件路径和文件名
import java.io.*;
public class 用FileOutputStream类 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
FileOutputStream out=new FileOutputStream("D:\\hello.txt");
out.write("www.cplusplus".getBytes());
out.close();
byte[] buf=new byte[1024];
FileInputStream in=new FileInputStream("D:\\hello.txt");
int len=in.read(buf);
System.out.println(new String(buf,0,len));
in.close();
}
}
![运行结果](https://img-blog.csdn.net/2018092314184648?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQzMjU5NTQw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)
*字符流*
Reader类是所有字符输入流的父类,Writer是所有字符输出类的父类
**InputStreamReader和OutStreamWriter**
InputStreamReader是Reader的子类,将输出的字符流变为字节流,即将一个字节流的输入对象变为字符流的输入对象
OutStreamWriter是Writer的子类,将输入的字节流变为字符流,即将一个字符流的输出对象变为字节流输出对象
将字节输出流变为字符输出流
import java.io.*;
public class 将字节输出流变成字符输出流 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{//所有的异常抛出
// TODO Auto-generated method stub
File f=new File("将字节输出流变成字符输出流.txt");
Writer out=null;
out=new OutputStreamWriter(new FileOutputStream(f));//OutputStreamWriter是把输出的字符流变成字节流
out.write("Hello world");
out.close();
}
}
将字节输入流变为字符输入流
import java.io.*;
public class 将字节输入流变为字符输入流 {
/**
* @param args
*/
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
File f=new File("将字节输出流变成字符输出流.txt");
Reader in=null;
in=new InputStreamReader(new FileInputStream(f));
char[] c=new char[1024];
int len=in.read(c);
in.close();
System.out.println(new String(c,0,len));
}
}