1.输入流代表从外设流入到计算机内存的数据序列,输出流代表计算机内存向外设的数据序列。
根据数据类型不同,流分为两类:一种是字节流(Byte流),一次读写8位二进制数,InputStream和OutputStream设计成字节流;一种是字符流(Character流),一次读写16位二进制数,Reader和Writer为字符流设计。
2.FileInputStream和FileOutputStream是InputStream和OutputStream的直接子类,负责对本地磁盘文件的顺序读写工作;
class="java" name="code">
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
public class testFileInOutputStream {
public static void main(String[] args) throws IOException {
File file=new File("E:/test","file.txt");//文件对象
FileInputStream fis=new FileInputStream(file);//文件输入流
byte[]b=new byte[(int)file.length()];//定义一个字节数组
fis.read(b);//文件输入流将内容写入到字节数组中
File copyFile=file.createTempFile("CopyFile", ".txt",new File("E:/"));//在E:/test的路径下创建文件名CopyFile,扩展名.txt的临时文件
FileOutputStream fos=new FileOutputStream(copyFile);//创建文件输出流
fos.write(b);//将数组b中的内容写入到流中
fos.close();//关闭
fis.close();//关闭
}
}
结果在E:/test下产生了一个新的文件,内容跟原先的内容一样。但是后缀名改为doc后里面的内容是乱码,应该是编码的问题