**
流分为低级流与高级流:常见低级流为文件输入流(FileInputStream)和文件输出流(FileOutputStream),为字节流,读写单位为字符。高级流有字符流,转换流,缓冲字符流,读写单位为字符,其中java.io.Reader:字符输入流的顶级父类,java.io.Writer:字符输出流的顶级父类,
1.FileOutputStream 文件输出流,作用:创建文件,并写入文件。FileOutputStream fos=new FileOutputStream(“xxx.txt”),创建xxx.txt。然后进行写入,注意:文件只能输入字节,因此
我们需要利用str.getBytes(),得到一组字节数组,fos.write(data),其中data为该数组。
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import javax.imageio.stream.FileCacheImageOutputStream;
public class FOSDemo {
public static void main(String[] args) throws IOException {
/*
* 默认创建的是FOS是覆盖写操作
* FOS会先将文件数据(若有数据)全部
* 删除,重写开始写
/
FileOutputStream fos=
new FileOutputStream(“fos.txt”);
String str=“我爱你天安门”;
/
*文件只能输入字节
* String->byte[]
* byte getBytes[]
* 将当前字符串按照系统默认字符集转换
* 为一组字节
* byte getBytes(String csn)
* 按照给定的字符集将当前字符串转换为
* 一组字节
*/
byte[] data=str.getBytes(“UTF-8”);
fos.write(data);
System.out.println(“输入完毕!”);
fos.close();
}
}
2.FileInputStream:文件输入流,从文件中读取字节。
import java.io.UnsupportedEncodingException;
/**
- java.io.FileInputStream
- 文件输入流,是一个低级流,用于从文件中
- 读取字节
- @author 回忆心殇的节奏
*/
public class FileInputStream {
public FileInputStream(String string) {
}
public static void main(String[] args) throws UnsupportedEncodingException {
FileInputStream fis
=new FileInputStream("fos.txt");
byte[] data=new byte[100];
int len =fis.read(data);//实际读到的长度
String str=new String(
data,0,len,"UTF-8"
);//byte->String
System.out.println(str);
fis.close();
}
void close() {
// TODO Auto-generated method stub
}
int read(byte[] data) {
return 0;
}
}