将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面

import java.io.*;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; public class DirCopy {
public static void main(String[] args) throws Exception{
dirZipCopy("E:/source","F:/source.zip");
}
/**
* 文件夹压缩备份
* @param fromDir 要压缩备份的文件夹
* @param toDir 压缩至的路径
* @throws Exception
*/
public static void dirZipCopy(String fromDir,String toDir) throws Exception{
//创建ZIP输出流
ZipOutputStream zos=new ZipOutputStream(new FileOutputStream(toDir));
//递归处理文件夹
zipCopy(new File(fromDir),zos,"");
zos.close();
}
/**
* 压缩复制文件
* @param fromDir 要压缩的文件
* @param zos ZIP输出流
* @param path 相对于ZIP文件的路径
* @throws Exception
*/
private static void zipCopy(File fromDir,ZipOutputStream zos,String path) throws Exception{
if(fromDir.exists()){
if(fromDir.isDirectory()){
path += fromDir.getName()+"/";
zos.putNextEntry(new ZipEntry(path));
File[] files=fromDir.listFiles();
if(files != null){
for(int i=0;i<files.length;i++){
zipCopy(files[i],zos,path);
}
}
}else{
//putNextEntry():开始写入新的 ZIP 文件条目并将流定位到条目数据的开始处。
zos.putNextEntry(new ZipEntry(path+fromDir.getName()));
InputStream is=new FileInputStream(fromDir);
int len=0;
byte[] b=new byte[1024];
while((len=is.read(b))!=-1){
zos.write(b,0,len);
zos.flush();
}
is.close();
}
}
}
}

文件复制

public class FileCopy2 {
public static void main(String[] args) {
fileCopy("F:/abc.rmvb", "F:/source/abc.rmvb");
}
public static void fileCopy(String srcFileSource,String destFileSource){
try {
//读取原文件内容
FileInputStream in=new FileInputStream(srcFileSource);
FileOutputStream out=new FileOutputStream(destFileSource);
int len=0;
byte[] indata=new byte[1024*10];
while((len=in.read(indata))!=-1){
out.write(indata);
}
in.close();
out.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}

java笔试题: ——将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面的更多相关文章

  1. 华为Java笔试题

    华为Java笔试题+数据库题 一. 单项选择题 1.Java是从( )语言改进重新设计. A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确( ) A. Java程序经 ...

  2. Java笔试题集锦

    Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?怎样实现? 答:MVC是Model-View-Controller的简写."Model" 代表的是应用的业务逻辑(通过J ...

  3. 2016最新Java笔试题集锦

    更新时间:2015-08-13         来源:网络         投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...

  4. java面试题—精选30道Java笔试题解答(二)

    摘要: java面试题-精选30道Java笔试题解答(二) 19. 下面程序能正常运行吗() public class NULL { public static void haha(){ System ...

  5. 北京Java笔试题整理

    北京Java笔试题整理 1.什么是java虚拟机?为什么ava被称作是"平台无关的编程语言? 答:Java虚拟机可以理解为一个特殊的"操作系统",只是它连接的不是硬件,而 ...

  6. 【笔试题】精选30道Java笔试题解答

    转自于:精选30道Java笔试题解答 精选30道Java笔试题解答 1. 下面哪些是Thread类的方法() A. start() B. run() C. exit() D. getPriority( ...

  7. 精选30道Java笔试题附答案分析

    精选30道Java笔试题解答 都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑 ...

  8. 汉王JAVA笔试题

    汉王JAVA笔试题 1,jsp中动态include与静态include的区别? (1)动态包含总是会检查文件中的变化,适合用于包含动态页面,并且可以带参数. (2)静态包含不会检查所含文件的变化,适用 ...

  9. java笔试题13-11-21

    中xxx科技公司java笔试题 今天去参加一个公司的面试,去先做了一份笔试题,妈的,太他妈难了(对于我来说,最后做完一个员工说你是不是投错简历了,都是空白,我说我做的大部分都对了..最后面试都没有,就 ...

随机推荐

  1. chem01- 添加商品到购物车

    1. package selleck.web.cart; import java.io.InputStream; import java.math.BigDecimal; import java.sq ...

  2. JDK version

    Java 1.2 uses major version 46 Java 1.3 uses major version 47 Java 1.4 uses major version 48 Java 5 ...

  3. http://blog.sina.com.cn/s/blog_6940cab30101hn9j.html

    http://blog.sina.com.cn/s/blog_6940cab30101hn9j.html

  4. asp.net中session的原理及应用

    Session简介丶特性 1.Session是一种Web会话中的常用状态之一. 2.Session提供了一种把信息保存在服务器内存中的方式.他能储存任何数据类型,包含自定义对象. 3.每个客户端的Se ...

  5. 背景建模SACON

    http://www.cnblogs.com/dwdxdy/p/3530862.html

  6. 搭建和使用Docker私有仓库

    需要注意的是,从Docker Pool下载的镜像文件,与官方镜像文件是完全一致的. 安装Docker之后,可以是使用官方提供的registry镜像来搭建一套本地私有仓库环境:  docker run  ...

  7. Linux绑定双网卡

    Linux绑定双网卡 1. 配置参数文件 版本在centos6以下在/etc/modproe.conf文件中配置,版本是centos6.x或以上在/etc/modproe.d/目录下配置. 2.    ...

  8. 经过各种坑之后centos+ uwsgi + nginx +django 终于配好了

    https://pypi.python.org/pypi/setuptools#downloads https://www.python.org/ftp/python/ 开机 加入 uwsgi ngi ...

  9. MVC1

  10. 关于prototype

    之前听过课,可是这一块没怎么听懂,最近练了两个例子,又问了问小石同学,朦朦胧胧,感觉还是不太懂,记录点心得 最基本的例子 function Box(name,age){ this.name=name; ...