只拷贝文件不拷贝文件夹的Java程序

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class DeepCopy {
	public static void main(String[] args){
		deepCopy("F:/Software/所有字体", "F:/Software/All_Font");
	}

	// 将folder_source所有文件(不包括文件夹)全部拷贝到dest_folder,
	private static void deepCopy(String folder_source, String dest_folder){
		File file1 = new File(folder_source);
		if (file1.isFile()){
			copy(file1.getAbsolutePath(), dest_folder+"/"+file1.getName());
		}else if (file1.isDirectory()){
			File[] files2 = file1.listFiles();
			for (int i = 0; i < files2.length; i++){
				deepCopy(files2[i].getAbsolutePath(), dest_folder);
			}
		}
	}

	public static boolean copy(String fileFrom, String fileTo) {
		try {
			InputStream in = new FileInputStream(fileFrom);
			OutputStream out = new FileOutputStream(fileTo);
			byte[] bt = new byte[1024];
			int count;
			while ((count = in.read(bt)) > 0) {
				out.write(bt, 0, count);
			}
			in.close();
			out.close();
			System.out.println("Copy Finished!");
			return true;
		} catch (IOException ex) {
			ex.printStackTrace();
			return false;
		}
	}

}

时间: 2024-12-22 11:04:23

只拷贝文件不拷贝文件夹的Java程序的相关文章

C# 选择文件、选择文件夹、打开文件(或者文件夹) 路径中获取文件全路径、目录、扩展名、文件名称 追加、拷贝、删除、移动文件、创建目录 修改文件名、文件夹名!!

https://www.cnblogs.com/zhlziliaoku/p/5241097.html 1.选择文件用OpenDialog OpenFileDialog dialog = new OpenFileDialog(); dialog.Multiselect = true;//该值确定是否可以选择多个文件 dialog.Title = "请选择文件夹"; dialog.Filter = "所有文件(*.*)|*.*"; if (dialog.ShowDial

Path,Files巩固,题目:从键盘接收两个文件夹路径,把其中一个文件夹中(包含内容)拷贝到另一个文件夹中

这个题目用传统的File,InputStream可以做,但是如果用Files,Path类做,虽然思路上会困难一些,但是代码简洁了很多,以下是代码: import java.io.IOException; import java.nio.file.FileVisitResult; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.Simple

IO文件夹拷贝(文件内含有文件和文件夹)

1 /** 2 * 文件夹拷贝(文件内含有文件和文件夹) 3 * 4 * @param src 5 * @param des 6 */ 7 private static void copy(String src, String des) { 8 File file1 = new File(src); 9 File[] fs = file1.listFiles(); 10 File file2 = new File(des); 11 if (!file2.exists()) { 12 file2.

从键盘接收两个文件夹路径,把其中一个文件夹(包含内容),拷贝到另一个文件夹中

package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Scanner; /* * 1.从键盘接收两个文件夹路径,把其中一个文件夹(包含内容) * 拷贝到另一个文件

Linux基础知识第三讲,拷贝文件跟移动文件命令

目录 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 1.tree命令常用选项 2.cp复制文件命令 3.mv 命令的使用 Linux基础知识第三讲,拷贝文件跟移动文件命令 一丶常用命令 序号 命令 对应英文 作用 01 tree [目录名] tree 以树状图列出文件目录结构 02 cp 源文件 目标文件 copy 复制文件或者目录 03 mv 源文件 目标文件 move 移动文件或者目录/文件或者目录重命名 1.tree命令常用选项 tree命令可以显示当前目录下的所有子目录

关于从其他mac上拷贝过来的工程文件只有my mac 没有其他设备的问题

关于从其他mac上拷贝过来的工程文件只有my mac 没有其他设备的问题 PS:刚刚碰到这样一个问题,就随手记录下来.从从其他mac上拷贝过来的工程文件只有my mac 没有其他设备的问题   上图: 1.首先先关闭Xcode 2. 找到我们拷贝过来的工程文件夹,找到后缀为xcodeproj右键显示包内容 3.然后就是这样的三个文件 4.因为每个mac的xcode都会自动生成这样一个文件,从而导致拷贝到其他工程时读取的是拷贝之前的文件.把xcuserdata移动到废纸篓,再从新打开即可 5.效果

SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器

一. cp.get_file实现从master端复制文件到minion服务器的文件中cp.get_file 1. 修改/etc/salt/master ,指定server 工作的根目录   file-roots:       - base:              /srv/salt  (默认路径,可以指定)2 . 创建目录     mkdir /srv/salt 3. 拷贝需要复制的文件到工作目录   cp -ra souce_file /srv/salt4. 执行cp.get_file 命

BAT 快速删除CVS文件和拷贝最近修改文件的目录结构

相信大家在操作大量文件的的时候,经常会遇到一些手动很难操作的情况 比如有CVS版本控制下每个文件夹下都有一个CVS文件夹,一个个手工删除肯定很费劲,我们都是懒人,还是用工具解决吧.不用重新写程序,直接用BAT命令就能作到.把下面的代码拷贝到记事本,保存成bat可执行文件,放到CVS根目录下,直接执行就行. ? 1 2 3 4 5 6 7 @echo off echo Deleting CVS folders and files under: %1 REM Open Folder specifie

Linux使用scp命令进行文件远程拷贝详解

前言 scp是 secure copy的缩写, scp是Linux系统下基于ssh登陆进行安全的远程文件拷贝命令.Linux的scp命令可以在Linux服务器之间复制文件和目录. 使用语法: scp  [参数] [源路径] @IP:/目标路径 scp 参数如下: -1: 强制scp命令使用协议ssh1 -2: 强制scp命令使用协议ssh2 -4: 强制scp命令只使用IPv4寻址 -6: 强制scp命令只使用IPv6寻址 -B: 使用批处理模式(传输过程中不询问传输口令或短语) -C: 允许压