JAVA学习流操作

来源:互联网 发布:手机降温软件哪个好 编辑:程序博客网 时间:2024/05/17 06:12
流的基本概念:流操作就是内存与磁盘之间的数据转换
     流按照方向分:分为输入流和输出流,是以内存为参照物,将数据从数据源中读取到内存,为输入流,也称为读取流。将数据从内存中写入数据源,为输出流,也称为写入流。

     按类型分:    分为字节流(图片,音频等),字符流,对象流 。由于计算机采用二进制,所以数据的传输,都是以字节为单位传输。所以,无论是哪种流,其本质都是字节流 。 不过,为了方便字符数据和对象数据的传输。可以在字节流基础上进行封装,形成字符流和对象流。  

InputStream和OutputStream是字节流的两个父类。这个两个类提供了read()和write两个抽象方法。由子类根据自己数据源的特点分别做实现.

     
流操作的步骤:
1.建立流(通道);
2.操作流;
3.关闭流

如果是输出流方式,要输出一串字符串,可以使用   String.getBytes()方法,转化为字节码数组.默认是覆盖方式写入,如果第二个参数为真,表示追加写入
out = new FileOutoutStream("文件地址",true); 

文件流操作是,如果文件不存在.读取流会抛出"FileNotFoundException"异常。写入流会新建文件。

复制文件
import java.io.OutputStream;

public class CopyFile {

     public static void copyFile(String sorceFile, String target){
           InputStream in = null;
           OutputStream out = null;

           String FileName = System.currentTimeMillis()+sorceFile.substring(sorceFile.lastIndexOf("."));
           try {
                in = new FileInputStream(sorceFile);
                out = new FileOutputStream(target+"/"+FileName
                );
                byte [] by = new byte[1024];
                int len = 0;
                while((len = in.read(by))!= -1){
                     out.write(by,0,len);
                }
           } catch (Exception e) {
                e.printStackTrace();
           }
           finally{
                try {
                     out.close();
                     in.close();
                } catch (IOException e) {
                     e.printStackTrace();
                }
0 0