用java写了一个实用的类----递归的拷贝给定目录的.java文件到指定的一个文件中
当然可以扩展一下,做成一个实用的工具,做一下界面,增加一个可选择的后缀名...呵呵,自己懒的要命,有兴趣可以作一下,感觉这个工具还挺实用的,不需要你手工一个个复制,粘贴,只需要输入你要拷贝的目录和要拷贝到的文件的名字,成百上千的文件就会替你拷贝的好好的...呵呵,不过拷贝的次序不确定,我的那个SNLCompiler代码就是用这个把数百个文件合成一个文件贴到blog里的,阅读起来可能有困难...
package edu.jlu.fuliang;
import java.io.*;
public class CopyFiles {
public void copyAllFiles(String dirName, String toFileName) {
if (dirName.length() == 0) {
dirName = new String("..");
}
try {
File path = new File(dirName);
String[] fileNames = path.list();
if (fileNames != null) {
for (int i = 0; i < fileNames.length; i++) {
File file = new File(path.getPath(), fileNames[i]);
if (file.isDirectory()) {
copyAllFiles(file.getAbsolutePath(), toFileName);
} else {
if (fileNames[i].endsWith(".java")) {
FileInputStream fis = new FileInputStream(file);
FileOutputStream fos = new FileOutputStream(
toFileName, true);
byte[] buf = new byte[512];
int size = 0;
while ((size = fis.read(buf, 0, buf.length)) != -1) {
fos.write(buf, 0, size);
fos.flush();
}
fis.close();
fos.close();
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
CopyFiles copyFiles = new CopyFiles();
copyFiles.copyAllFiles(args[0], args[1]);
}
}
分享到:
相关推荐
而在`java.nio`中,`Files.copy()`方法提供了一种简洁的方式,可以方便地完成文件的复制,包括从一个位置到另一个位置的本地文件复制。 ```java try (InputStream in = new FileInputStream(source); ...
首先,我们需要了解Java中的`java.io`包,这个包提供了许多处理I/O流的类,包括处理文件的类如`File`、`FileInputStream`、`FileOutputStream`等。文件夹复制的基本思路是遍历目标文件夹下的所有文件和子文件夹,...
根据给定的信息,本文将详细解释“拷贝文件技术”中的关键知识点,包括如何指定目录拷贝文件并更改文件名,以及如何删除垃圾文件。 ### 拷贝文件技术概述 在计算机科学中,文件拷贝是一项基本而重要的任务。在实际...
根据给定的文件信息,我们可以总结出以下关于Java面向对象的基础知识点: ### 1. Java的可移植性 - **实现原理**:Java语言的可移植性主要通过Java虚拟机(JVM)来实现。无论在何种操作系统上,只需要适配相应的JVM...
在计算机操作中,“拷贝文件夹”指的是将一个文件夹及其所有内容(包括子文件夹和子文件夹内的文件)复制到另一个位置的过程。这是一项常见的文件管理任务,在进行备份、数据迁移或资源共享时尤为常见。 #### 二、...
25. 重载(overload):一个类中的方法与另一个方法同名,但是参数表不同,重载是 Java 语言中的一种多态机制。 26. 覆盖(override):子类方法的名称、参数和返回类型必须与父类方法一致,覆盖是 Java 语言中的一种...
方法重载是指在同一个类中可以有多个同名但参数列表不同的方法,这有助于提高代码的可读性和效率。方法的递归调用是指一个方法在其内部调用自身,但必须设定终止条件以避免无限循环。 数组是Java中存储同一类型数据...
- **拷贝一个目录或者文件到指定路径下**:使用 `File` 和 `FileInputStream/OutputStream` 实现文件复制。 - **简单的txt转换xml**:使用DOM或SAX解析器进行转换。 - **字母排序(A-Z)(先大写,后小写)**:使用 `...
`clone()`方法是`Object`类中的一个受保护的方法,用于创建当前对象的浅拷贝。这意味着如果对象包含引用类型的成员,则拷贝的对象将共享相同的引用。为了更深入地理解这一点,可以考虑重写`clone()`方法来实现深拷贝...
根据给定文件中的标题“java30个应该掌握的基础”及描述内容,下面将详细解析这些基础知识点: ### 1. 面向对象 (OOP) 面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它通过抽象、封装、继承...
- **数组初始化与内存分配**:`A` 类中初始化了一个大小为 20 的 `B` 类对象数组,即使数组可能并未全部使用,也预先占用了内存,可以考虑动态创建或按需分配。 - **字符串连接效率**:在 `toString()` 方法中,...
示例代码可能会使用`java.io.File`类的`listFiles()`方法来获取文件夹下的所有文件和子文件夹,并递归地遍历每个子文件夹。 ##### 3.11 一个用JAVA开发的会话密钥程序 这部分内容可能涉及了如何在Java中实现会话...
### Java面试题总结 ...以上是对给定文件中提及的Java知识点的一个较为详细的总结。这些知识点覆盖了Java编程的基础概念以及面试中常见的问题类型。对于准备参加Java面试的人来说,这些都是非常重要的知识点。
3. **链表(LinkedList)**:链表是一种非连续的数据结构,每个节点包含数据和指向下一个节点的引用。它支持快速的插入和删除,但随机访问效率较低。 4. **散列表(HashMap)**:散列表基于数组和单向链表实现,...
- **IN**:返回匹配任意一个给定值的行。 - **EXISTS**:检查子查询是否有行返回。 `EXISTS`通常更高效,因为它一旦找到匹配项就会停止执行。 #### 单例模式实现 - **懒汉式**:在首次使用时才创建实例。 - **...
- `join()`: 将序列中的元素以指定的字符连接生成一个新的字符串。 - `split()`: 通过指定分隔符对字符串进行切片。 #### Python是否区分大小写 - 是,Python是区分大小写的语言。 #### Python标识符命名规则 - ...
- **聚合**:表示“has-a”关系,表示一个类拥有另一个类的对象作为成员。 ##### 4.2.0 IO模型 - **IO模型**:主要包括BIO、NIO、AIO等。 - **NIO特点**:非阻塞I/O模型,使用通道和缓冲区进行数据传输。 ##### ...
23. **解释器模式**:给定一种语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。在C语言中,可以使用递归下降解析器实现。 以上就是23种设计模式在C语言环境中的基本概念...