java学习(154):文件复制
import javax.imageio.IIOException;
import java.io.*;
import java.util.Date;//字符输入流
public class FileManagerChar {public static void readCharFile(File file){FileReader fileReader=null;//文本输入流if(file.exists()){try {fileReader = new FileReader( file );//基于目标存在的文本文档输出流char[] chs=new char[50];//字符零时缓冲区int count=0;//存储实际读取的字符数量while((count=fileReader.read(chs,0,chs.length))!=-1){String s=new String( chs,0,count );System.out.println( s );}}catch (IOException e){e.printStackTrace();}finally {try {fileReader.close();}catch(IOException e){e.printStackTrace();}}}}//使用文本缓冲流读取文件public static void useBufferReader(File file){FileReader read=null;//基于文件的普通输入流BufferedReader br=null;//基于某个reader建立的字符缓冲流if(file.exists()){try {read=new FileReader( file );//基于文件建立普通文本输入流br=new BufferedReader( read );//基于某个read建立文本缓冲流char[] chs=new char[25];int count=0;while ((count=br.read(chs,0,chs.length))!=-1){String s=new String( chs,0,count );System.out.println( s );}}catch (IOException e){e.printStackTrace();}finally {try {br.close();read.close();System.out.println( "关闭成功" );}catch (IOException e){e.printStackTrace();}}}}//字节输出流public static void binaryOutStream(String filePath){String str="start=E:\\BaiduNetdiskDownload\\baidu6\\1.mp4";byte[] bys=str.getBytes();//将字符串转换为字节数组OutputStream out=null;try {out = new FileOutputStream( filePath);out.write(bys);}catch (IOException e){e.printStackTrace();}finally {try {out.close();System.out.println( "资源关闭" );}catch (IOException e){e.printStackTrace();}}}//使用字节缓冲输出流public static void useBufferedOutput(File file){OutputStream out=null;BufferedOutputStream bs=null;String str="日照香炉生紫烟,\n遥看瀑布挂前川。\n飞流直下三千尺,\n以适应河洛就停";byte[] bys=str.getBytes();if(file.exists()){try {System.out.println( file.getAbsolutePath() );out = new FileOutputStream( file.getAbsoluteFile()+"/李白诗.doc" );bs=new BufferedOutputStream( out );//基于某个outputstream建立缓冲输出流bs.write( bys ,0,bys.length);//写入目标文件}catch (IOException e){e.printStackTrace();}finally {try {bs.close();out.close();}catch (IOException e) {e.printStackTrace();}}}}//字符输出流bufferwrite//file文件存储的目录//filename 文件名称//content 文件内容public static void useBufferedWriter(File fir,String fileName,String content){File file=null;Writer writer=null;BufferedWriter bw=null;if(fir.exists()){file=new File(fir,fileName );char chs[]=content.toCharArray();try {writer=new FileWriter( file );bw=new BufferedWriter( writer );//基于Writer实例创建字符缓冲流bw.write(chs);//将char型数组所有内容写入到目标文件中}catch (IOException e){e.printStackTrace();}finally {try {bw.close();writer.close();}catch (Exception e){e.printStackTrace();}}}else{//创建目录后写入内容System.out.println( "目标文件目录没找到" );}}//文件复制public static void copyFile(File target,File dir){InputStream in=null;OutputStream out=null;File copyFile=null;//目标写的文件对象if(target.exists()){//判断目标文件是否存在if(!dir.exists()){dir.mkdirs();//如果目标文件不存在,创建目录}try {in = new FileInputStream( target );//基于文件建立输入流String fileName=target.getName();//获取文件源名称//避免文件重名copyFile=new File(dir+"/"+new Date().getTime()+fileName);//基于目标写入文件对象out=new FileOutputStream( copyFile );//基于目标文件建立输出流byte[] bys=new byte[1024];//临时存储字节数据的缓冲区int count=0;//记录读取内容的临时变量while ((count=in.read(bys,0,bys.length))!=-1){System.out.println( "文件赋值读写中,请稍后----" );out.write( bys,0,count );//将临时缓冲区内容写入到目标文件中}System.out.println( "目标赋值完成" );}catch (IOException e){e.printStackTrace();}finally {try {out.close();in.close();}catch (IOException e){e.printStackTrace();}}}}//emp序列化对象//target//序列化对象的目标文件//java序列化,将员工对象保存到文件中public static void javaSer(Employeee emp,File target){OutputStream out=null;ObjectOutputStream oos=null;//序列化输出流if(emp!=null){try {out = new FileOutputStream( target );oos = new ObjectOutputStream( out );oos.writeObject( emp );//将序列化对象保存到文件中}catch (IOException e){e.printStackTrace();}finally {try {oos.close();out.close();}catch (Exception e){e.printStackTrace();}}}}//反序列化public static Employeee deser(File target) {InputStream in = null;ObjectInputStream ois = null;Employeee emp = null;if (target.exists()) {try {in = new FileInputStream( target );ois = new ObjectInputStream( in );//进行反序列化Object obj = ois.readObject();emp = obj != null ? (Employeee) obj : null;//如果不为空进行类型转换} catch (IOException e) {e.printStackTrace();} catch (ClassNotFoundException e) {e.printStackTrace();}finally {try {ois.close();in.close();}catch (IOException e){e.printStackTrace();}}}return emp;//返回对象}
}
测试类
import java.io.File;public class test99 {public static void main(String[] args){File target=new File( "E:/files2/歌谣.docx" );File dir=new File( "d:/files/" );FileManagerChar.copyFile( target,dir);}
}
运行结果
java学习(154):文件复制相关推荐
- java 多种类型文件复制_java多种文件复制方式以及效率比较
1.背景 java复制文件的方式其实有很多种,可以分为 传统的字节流读写复制FileInputStream,FileOutputStream,BufferedInputStream,BufferedO ...
- Java学习之文件操作
前言 因为文件操作是一个非常常见的操作,在加上用法非常固定,就写一篇博客整理一下 我直接用一个小项目说明文件操作的方法,当然主要还是去看官方的api文档是最好的 我的一个demo程序是监听一个目录下的 ...
- java学习之文件基本操作
一.File类 文件的创建 package file;import java.io.File; import java.io.IOException;public class CreateFile { ...
- IDEA太强悍了!Java把一个文件复制到另一个文件
正文 ZooKeeper 很流行,有个基本的疑问: ZooKeeper 是用来做什么的? 之前没有ZK,为什么会诞生 ZK? OK,解答一下上面的疑问:(下面是凭直觉说的) ZooKeeper 是用于 ...
- java操作大文件复制
https://www.cnblogs.com/coprince/p/6594348.html https://blog.csdn.net/w592376568/article/details/796 ...
- Java实现文件复制的四种方式
背景:有很多的Java初学者对于文件复制的操作总是搞不懂,下面我将用4中方式实现指定文件的复制. 实现方式一:使用FileInputStream/FileOutputStream字节流进行文件的复制操 ...
- java 流 复制文件_【Java】使用字节流复制文件
其实用java程序复制文件并不难 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOE ...
- 【日记】Java学习日记(第63天)持续无聊更新
前言 Youtube上EJ Media(up主)的视频我依次学完了HTML.CSS.Javascript.Jquery.觉得他教得挺好的(短小精悍),就继续学他教的JAVA.感觉EJ教的都是些语法什么 ...
- 缓冲流效率测试_文件复制
(1)使用字节输入流对象FileInputStream.输出流对象FileOutputStream测试 package com.IOAndProperties.CopyFile;import java ...
最新文章
- Dbvis数据库连接工具将查询出数据转化为sql插入语句方法
- 使用Socket模拟聊天室
- matlab 与dsp联合仿真,matlab和DSP联合开发前景很大?
- java中如何使用反射调用方法以及获得类中的属性
- Shell中字符串、数值的比较
- 系统最小的服务最小的权限最大的安全。
- 硬件检测你用哪一款工具呢?
- 自行车测速器怎么调_怎么测甲醛?
- G-Dezender批量解密
- MySQL 简单查询语句练习题(4+18)
- GPS原始RMC数据解析之DDMM.MMMM
- python买水果题_Python练习题4.9查询水果价格
- 正则表达式匹配所有以小写字符开头的单词
- uniapp获取视频第一帧展示,及视频的层级问题,亲测有效
- 曾做erp开发工程师,谈下自己的经验
- 面试题7: 二叉树基础知识 - 前序遍历(DLR), 中序遍历(LDR), 后续遍历(LRD) - Android 端递归实现
- PS基础入门(一.橡皮檫的介绍)
- 微信小程序开发总结与心得(一)
- StatisticsView
- 一文让你秒懂场效应晶体管的所有参数