zoukankan      html  css  js  c++  java
  • JAVA拷贝视频文件无法播放的解决方法

    java流分为两种流:
        1、字节流:可以用于读写二进制文件及任何文件 byte
        2、字符流:可以用于读写文本文件,不能操作二进制文件

    因此拷贝视频文件必须用字节流操作。

    //二进制文件方法
        private static void copyFile(String src,String dest){
    
            //1.提供读入和写入的文件
            File f1=new File(src);
            File f2=new File(dest);
            //2.提供相应的流对象
            FileInputStream fis=null;
            FileOutputStream fos=null;
            try{
                fis=new FileInputStream(f1);
                fos=new FileOutputStream(f2);
                //3.实现复制
                byte[]b=new byte[200];
                int len;
                while((len=fis.read(b))!=-1){
                    fos.write(b, 0, len);
                }    
            }catch(Exception e){
                e.printStackTrace();
            }finally{
                if(fis!=null){
                    try {
                        //关闭输入流
                        fis.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
                if(fos!=null){
                    try {
                        //关闭输出流
                        fos.close();
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
            }
    
    
        //文本文件拷贝方法
        private static void fileCopy(String src, String des) {  
          
            //字符型处理流
            BufferedReader br=null;  
            PrintStream ps=null;  
              
            try {  
                //输入与输出流
                br=new BufferedReader(new InputStreamReader(new FileInputStream(src)));  
                ps=new PrintStream(new FileOutputStream(des));  
                String s=null;  
                while((s=br.readLine())!=null){  
                    ps.println(s);  
                    ps.flush();  
                }  
                  
            } catch (FileNotFoundException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            } catch (IOException e) {  
                // TODO Auto-generated catch block  
                e.printStackTrace();  
            }finally{  
                    try {  
                        //关闭输入输出流
                        if(br!=null)  br.close();  
                        if(ps!=null)  ps.close();  
                    } catch (IOException e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }  
            }  
  • 相关阅读:
    libubox组件(1)——usock
    linux 块设备驱动(五)——块设备应用层的操作
    linux 块设备驱动(四)——简单的sbull实例
    linux 块设备驱动 (三)块设备驱动开发
    linux 块设备驱动(二)——块设备数据结构
    CUDA:零拷贝主机内存
    《无法触碰》
    CUDA: 流
    CUDA: 原子操作
    CUDA:纹理内存
  • 原文地址:https://www.cnblogs.com/mubu/p/6344053.html
Copyright © 2011-2022 走看看