基本IO操作(一)
数据流:
一组有序,有起点和终点的字节的数据序列。包括输入流和输出流。
2) 输入流(Input Stream):
程序从输入流读取数据源。数据源包括外界(键盘、文件、网络…),即是将数据源读入到程序的通信通道
3) 输出流:
程序向输出流写入数据。将程序中的数据输出到外界(显示器、打印机、文件、网络…)的通信通道。
采用数据流的目的就是使得输出输入独立于设备。
Input Stream不关心数据源来自何种设备(键盘,文件,网络) Output Stream不关心数据的目的是何种设备(键盘,文件,网络)
3) 节点流:可以从或向一个特定的地方(节点)读写数据。也称作 低级流 如FileReader
4) 处理流:是对一个已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。也被称作 高级流。
创建FOS对象(重写模式)
- FileOutputStream(File file):
创建一个指定的File对象表示文件写出数据的文件输出流。 FileOutputStream(String filename)
创建一个具有指定名称的文件中写出数据的文件输出流实例:
1、节点流用于从文件中读取数据
package day02;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
/**
* FileInputStream
* 节点流
* 用于从文件中读取数据
* @author Administrator
*
*/
public class FisDemo {
public static void main(String[] args) throws IOException {
FileInputStream fis =new FileInputStream("fos.dat");
int i=fis.read();
System.out.println(i);//97
byte[] buf=new byte[21];
int len =fis.read(buf);
String str=new String(buf,"utf-8");
System.out.println(str);
fis.close();
}
}
2、用于写出文件中的数据
package day02;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* FileOutputStream
* 节点流
* 用于向文件中写出字节的流
* @author Administrator
*
*/
public class FosDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos=new FileOutputStream(
"fos.dat" );
fos.write(97);
String str ="天安门官场";
byte[] buf=str.getBytes("utf-8");
fos.write(buf);
fos.close();
}
}
创建FOS对象(追加模式)
- FileOutputStream(File file,boolean append):
创建一个指定的File对象表示文件写出数据的文件输出流。 - FileOutputStream(String filename,boolean append)
创建一个具有指定名称的文件中写出数据的文件输出流
实例:
package day02;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* 使用文件字节流对已有的文件进行读写操作的注意事项
* @author Administrator
*
*/
public class FosDemo2 {
public static void main(String[] args) throws IOException {
/**
* FileOutputStream支持一个重载的构造方法
* FileOutputStream(String str,boolean append)
* 第二个参数指定是否进行追加写操作
* 若不追加,当前文件的所有内容会被清除。然后重新写数据。
* 要注意
*/
FileOutputStream fos=new FileOutputStream("fos.dat",true);
fos.write(20);
fos.close();
System.out.println("追加成功!");
}
}