在程序中所有的数据都是以流的方式进行传输或保存的,程序需要数据时要使用输入流读取数据,当程序需要将一些数据保存起来,就要使用输出流。
java.io包中流的操作主要有字节流,字符流两大类,两大类都有输入和输出操作。在字节流中输出数据主要使用OutputStream类完成,输入使用的是InputStream类。在字符流中输出主要是使用能够Writer类完成,输入主要是使用Reader类完成。
************************************************************
java中IO操作也是有相应步骤的,以文件的操作为例,主要的操作流程如下:
1.使用File类打开一个文件。
2.通过字节流或字符的子类指定输出的位置。
3.进行读/写操作
4.关闭输入/输出
************************************************************
1.字节流
字节流主要操作byte类型数据,以byte数据为准,主要操作类是OutputStream类和InputStream
OutputStream是整个IO包中字节输出流的最大父类,此类的定义如下:
public abstract class OutputStream
etends Object
implements closeable,Flushable
要使用抽象类,首先必须通过子类实例化对象。
package test2;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
public class test {
public static void main(String[] args) throws Exception {// 异常抛出,不处理
// 第一步:使用File类找到一个文件
File f = new File("d:" + File.separator + "test.txt");
// 第二步:通过子类实例化父类对象
OutputStream out = null; // 准备好一个输出的对象
out = new FileOutputStream(f);// 通过对象的多态性,进行实例化
// 第三步:进行写操作
String str = "hello word!!!";
byte b[] = str.getBytes();// 只能输出一个byte数组,所以将字符串变为byte数组
out.write(b);// 将内容输出,保存文件
out.close();
}
}
结果:
将字符成功写入txt文件里,