java笔试题: ——将e:/source文件夹下的文件打个zip包后拷贝到f:/文件夹下面
将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:/文件夹下面的更多相关文章
- 华为Java笔试题
华为Java笔试题+数据库题 一. 单项选择题 1.Java是从( )语言改进重新设计. A.Ada B.C++ C.Pasacal D.BASIC 2.下列语句哪一个正确( ) A. Java程序经 ...
- Java笔试题集锦
Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?怎样实现? 答:MVC是Model-View-Controller的简写."Model" 代表的是应用的业务逻辑(通过J ...
- 2016最新Java笔试题集锦
更新时间:2015-08-13 来源:网络 投诉删除 [看准网(Kanzhun.com)]笔试题目频道小编搜集的范文“2016最新Java笔试题集锦”,供大家阅读参考, ...
- java面试题—精选30道Java笔试题解答(二)
摘要: java面试题-精选30道Java笔试题解答(二) 19. 下面程序能正常运行吗() public class NULL { public static void haha(){ System ...
- 北京Java笔试题整理
北京Java笔试题整理 1.什么是java虚拟机?为什么ava被称作是"平台无关的编程语言? 答:Java虚拟机可以理解为一个特殊的"操作系统",只是它连接的不是硬件,而 ...
- 【笔试题】精选30道Java笔试题解答
转自于:精选30道Java笔试题解答 精选30道Java笔试题解答 1. 下面哪些是Thread类的方法() A. start() B. run() C. exit() D. getPriority( ...
- 精选30道Java笔试题附答案分析
精选30道Java笔试题解答 都是一些非常非常基础的题,是我最近参加各大IT公司笔试后靠记忆记下来的,经过整理献给与我一样参加各大IT校园招聘的同学们,纯考Java基础功底,老手们就不用进来了,免得笑 ...
- 汉王JAVA笔试题
汉王JAVA笔试题 1,jsp中动态include与静态include的区别? (1)动态包含总是会检查文件中的变化,适合用于包含动态页面,并且可以带参数. (2)静态包含不会检查所含文件的变化,适用 ...
- java笔试题13-11-21
中xxx科技公司java笔试题 今天去参加一个公司的面试,去先做了一份笔试题,妈的,太他妈难了(对于我来说,最后做完一个员工说你是不是投错简历了,都是空白,我说我做的大部分都对了..最后面试都没有,就 ...
随机推荐
- Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式
Linux就这个范儿 第18章 这里也是鼓乐笙箫 Linux读写内存数据的三种方式 P703 Linux读写内存数据的三种方式 1.read ,write方式会在用户空间和内核空间不断拷贝数据, ...
- Ninject简单的Demo
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 第十一篇 SQL Server安全审核
本篇文章是SQL Server安全系列的第十一篇,详细内容请参考原文. SQL Server审核SQL Server审核是指你可以在数据库或服务器实例监控事件.审核日志包含你选择捕获的事件的列表,在服 ...
- swift 异步加载图片
import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: ...
- mybatis-spring
现成的中文文档 首先,项目依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifa ...
- bind: address already in use
2016/04/18 09:46:06 server.go:36: listen at 0.0.0.0:9530 2016/04/18 09:46:06 server.go:39: listen er ...
- tomcat 6.0.44 “has failed to stop it. This is very likely to create a memory leak” 问题调查
1. 问题起因 我们项目中缓存模块某个实现采用了ehcache(2.4.3),当项目部署到tomcat中后,对tomcat做停止服务操作(点击eclipse的console红色的停止按钮,奇怪的是有小 ...
- linux:问题
1>.Xshell远程连接linux闲置时间过长会自动中断连接: 2>.在linux环境下乱码: 3>.在linux下面执行mv /bin/ls /root/bin之后执行ls就不能 ...
- 同一个主机上的JVM实例之间通信
hadoop yarn里用了RPC调用.NM里面文件本地化类ContainerLocalizer用RPC心跳方式跟本机的ResourceLocalizationService通信. 用shared m ...
- SQLSERVER:sqlserver2008r2安装好后,自动提示功能不可以使用
刚安装好的sqlserver2008r2x64,写一些sql时,自动提示功能失效了. 解决排查一: 找到tools->options->Text Editor->Transact-S ...