Java使用字节流实现图片音频的复制

 更新时间:2021年06月09日 15:47:57   作者:wasane  
今天带大家学习Java的相关知识,文章围绕着Java如何使用字节流实现图片音频的复制展开,文中有非常详细的介绍,需要的朋友可以参考下

Java字节流复制图片音频

java中的字节流可以实现文本的读入写入,当然也可以实现字节流对于图片的读入写入,就只需要写一个复制文本的字节输入输出流,然后在源文件和目标文件更换后缀图片就行了。

下面给出了source.png图片的路径,我们对其所对应的路径提供一个copysource.png的复制图片文件。

 

1.首先找到这两个文件的路径。如果写入的文本没有创建的话,会自动创建

File source = new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\source.png");
 
File copysource  = new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\copysource.png");

2.定义字节输入流,字节输出流

InputStream in = null;
		
OutputStream out = null;

3.通过字节输入流读入source.png文件的内容,在通过字节输出流将其输入到copysource.png中。

  in = new FileInputStream(source);
			out =new FileOutputStream(copysource);
			byte[] bt = new byte[(int)source.length()];
			int length = 0;
			while( (length = in.read(bt))!=-1) {
				out.write(bt,0,length);
			}

4.关闭流

if(null!=in) {
				try {
					in.close();
				}catch(IOException e) {
					
				}
			
			}
			if(null!=out) {
				try {
					out.close();
				}catch(IOException e) {
					
				}
			
			}
		
		   }

经过上述的代码,就可以将source.png的图片复制到copysource.png中了。这个时候就会发现该路径下多出了一张copysource.png的图片了。

以下是完整代码:

import java.io.*;
 
public class IOTest {
	
	public static void main(String[]args) {
		File source = new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\source.png");
		File copysource  = new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\copysource.png");
		InputStream in = null;
		OutputStream out = null;
		
		try {
			in = new FileInputStream(source);
			out =new FileOutputStream(copysource);
			byte[] bt = new byte[(int)source.length()];
			int length = 0;
			while( (length = in.read(bt))!=-1) {
				out.write(bt,0,length);
			}
			
		}catch(IOException e) {
			
		}finally {	
			if(null!=in) {
				try {
					in.close();
				}catch(IOException e) {
					
				}
			
			}
			if(null!=out) {
				try {
					out.close();
				}catch(IOException e) {
					
				}
			
			
			}
		
		
		 }
			System.out.println("复制成功");
		}
		
 
}

和上面复制图片的代码一样,只需要修改文件路径,音频和视频都是可以复制的。

下面还是以上述的路径为例,给出一个后缀为mp4文件,我们将其通过代码复制一份,由上面的代码我们只需要修改文件路径的内容。

File source =new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\林俊杰-修炼爱情(超清).mp4");
		
File copysource  = new File("C:\\Users\\Lenovo\\Desktop\\csdn\\iotest\\copy修炼爱情JJ.mp4");

我们发现可以复制成功

到此这篇关于Java使用字节流实现图片音频的复制的文章就介绍到这了,更多相关java字节流内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一个Servlet是如何处理多个请求的?

    一个Servlet是如何处理多个请求的?

    以前我一直以为一个Servlet只能处理一个请求,后来发现是自己太菜了,可以借助携带一个参数来完成多个请求的处理,根据参数的不同,在核心的service方法中调用不同的业务方法,来实现处理多个servlet请求的目的,废话不多说,直接上代码,需要的朋友可以参考下
    2021-06-06
  • 剑指Offer之Java算法习题精讲数组查找与字符串交集

    剑指Offer之Java算法习题精讲数组查找与字符串交集

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • 浅谈Spring Boot 属性配置和自定义属性配置

    浅谈Spring Boot 属性配置和自定义属性配置

    这篇文章主要介绍了浅谈Spring Boot 属性配置和自定义属性配置,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • java项目中的多线程实践记录

    java项目中的多线程实践记录

    项目开发中对于一些数据的处理需要用到多线程,比如文件的批量上传,数据库的分批写入,大文件的分段下载等,主要涉及到多线程的一些知识,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下
    2021-11-11
  • spring security集成cas实现单点登录过程

    spring security集成cas实现单点登录过程

    这篇文章主要介绍了spring security集成cas实现单点登录过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Java中常见的编码集问题总结

    Java中常见的编码集问题总结

    这篇文章主要为大家整理了一些Java中常见的编码集问题,文中的示例代码讲解详细,对我们深入理解Java有一定的帮助,感兴趣的小伙伴可以了解一下
    2023-02-02
  • java获取文件扩展名的方法小结【正则与字符串截取】

    java获取文件扩展名的方法小结【正则与字符串截取】

    这篇文章主要介绍了java获取文件扩展名的方法,结合实例形式分析了使用正则与字符串截取两种获取扩展名的操作技巧,需要的朋友可以参考下
    2017-01-01
  • java基础二叉搜索树图文详解

    java基础二叉搜索树图文详解

    二叉树是一种非常重要的数据结构,它同时具有数组和链表各自的特点,下面这篇文章主要给大家介绍了关于java基础二叉搜索树的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-03-03
  • Java实现单位换算功能

    Java实现单位换算功能

    这篇文章主要为大家详细介绍了Java实现单位换算功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • mybatis中resulthandler的用法

    mybatis中resulthandler的用法

    这篇文章主要介绍了mybatis中resulthandler的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01

最新评论