java文件的一些基本操作,供大家借用,把代码全部复制就可使用运行
package com.file;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
public class CopyFile {
public CopyFile() {
}
/**
* 新建目录
* @param folderPath String 如 c:/fqf
* @return boolean
*/
public void newFolder(String folderPath) {
try {
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
if (!myFilePath.exists()) {
myFilePath.mkdir();
}
}
catch (Exception e) {
System.out.println("新建目录操作出错");
e.printStackTrace();
}
}
/**
* 新建文件
* @param filePathAndName String 文件路径及名称 如c:/fqf.txt
* @param fileContent String 文件内容
* @return boolean
*/
public void newFile(String filePathAndName, String fileContent) {
try {
String filePath = filePathAndName;
filePath = filePath.toString(); //取的路径及文件名
File myFilePath = new File(filePath);
/**如果文件不存在就建一个新文件*/
if (!myFilePath.exists()) {
myFilePath.createNewFile();
}
FileWriter resultFile = new FileWriter(myFilePath); //用来写入字符文件的便捷类, 在给出 File 对象的情况下构造一个 FileWriter 对象
PrintWriter myFile = new PrintWriter(resultFile); //向文本输出流打印对象的格式化表示形式,使用指定文件创建不具有自动行刷新的新 PrintWriter。
String strContent = fileContent;
myFile.println(strContent);
resultFile.close();
}
catch (Exception e) {
System.out.println("新建文件操作出错");
e.printStackTrace();
}
}
/**
* 删除文件
* @param filePathAndName String 文件路径及名称 如c:/fqf.txt
* @param fileContent String
* @return boolean
*/
public void delFile(String filePathAndName) {
try {
String filePath = filePathAndName;
filePath = filePath.toString();
java.io.File myDelFile = new java.io.File(filePath);
myDelFile.delete();
}
catch (Exception e) {
System.out.println("删除文件操作出错");
e.printStackTrace();
}
}
/**
* 删除文件夹
* @param filePathAndName String 文件夹路径及名称 如c:/fqf
* @param fileContent String
* @return boolean
*/
public void delFolder(String folderPath) {
try {
delAllFile(folderPath); //删除完里面所有内容
String filePath = folderPath;
filePath = filePath.toString();
java.io.File myFilePath = new java.io.File(filePath);
myFilePath.delete(); //删除空文件夹
}
catch (Exception e) {
System.out.println("删除文件夹操作出错");
e.printStackTrace();
}
}
/**
* 删除文件夹里面的所有文件
* @param path String 文件夹路径 如 c:/fqf
*/
public void delAllFile(String path) {
File file = new File(path);
if (!file.exists()) {
return;
}
if (!file.isDirectory()) {
return;
}
String[] tempList = file.list();
File temp = null;
for (int i = 0; i < tempList.length; i++) {
if (path.endsWith(File.separator)) {
temp = new File(path + tempList[i]);
}
else {
temp = new File(path + File.separator + tempList[i]);
}
if (temp.isFile()) {
temp.delete();
}
if (temp.isDirectory()) {
delAllFile(path+"/"+ tempList[i]);//先删除文件夹里面的文件
delFolder(path+"/"+ tempList[i]);//再删除空文件夹
}
}
}
/**
* 复制单个文件
* @param oldPath String 原文件路径 如:c:/fqf.txt
* @param newPath String 复制后路径 如:f:/fqf.txt
* @return boolean
*/
public void copyFile(String oldPath, String newPath) {
try {
// int bytesum = 0;
int byteread = 0;
File oldfile = new File(oldPath);
if (oldfile.exists()) { //文件存在时
InputStream inStream = new FileInputStream(oldPath); //读入原文件
FileOutputStream fs = new FileOutputStream(newPath);
byte[] buffer = new byte[1444];
// int length;
while ( (byteread = inStream.read(buffer)) != -1) {
// bytesum += byteread; //字节数 文件大小
// System.out.println(bytesum);
fs.write(buffer, 0, byteread);
}
inStream.close();
}
}
catch (Exception e) {
System.out.println("复制单个文件操作出错");
e.printStackTrace();
}
}
/**
* 复制整个文件夹内容
* @param oldPath String 原文件路径 如:c:/fqf
* @param newPath String 复制后路径 如:f:/fqf/ff
* @return boolean
*/
public void copyFolder(String oldPath, String newPath) {
try {
(new File(newPath)).mkdirs(); //如果文件夹不存在 则建立新文件夹
File a=new File(oldPath);
String[] file=a.list();
File temp=null;
for (int i = 0; i < file.length; i++) {
if(oldPath.endsWith(File.separator)){
temp=new File(oldPath+file[i]);
}
else{
temp=new File(oldPath+File.separator+file[i]);
}
if(temp.isFile()){
FileInputStream input = new FileInputStream(temp);
FileOutputStream output = new FileOutputStream(newPath + "/" +
(temp.getName()).toString());
byte[] b = new byte[1024 * 5];
int len;
while ( (len = input.read(b)) != -1) {
output.write(b, 0, len);
}
output.flush();
output.close();
input.close();
}
if(temp.isDirectory()){//如果是子文件夹
copyFolder(oldPath+"/"+file[i],newPath+"/"+file[i]);
}
}
}
catch (Exception e) {
System.out.println("复制整个文件夹内容操作出错");
e.printStackTrace();
}
}
/**
* 移动文件到指定目录
* @param oldPath String 如:c:/fqf.txt
* @param newPath String 如:d:/fqf.txt
*/
public void moveFile(String oldPath, String newPath) {
copyFile(oldPath, newPath);
delFile(oldPath);
}
/**
* 移动文件到指定目录
* @param oldPath String 如:c:/fqf.txt
* @param newPath String 如:d:/fqf.txt
*/
public void moveFolder(String oldPath, String newPath) {
copyFolder(oldPath, newPath);
delFolder(oldPath);
}
public static void main(String[] args){
CopyFile file = new CopyFile();
// file.newFolder("newFolder22222");
file.delAllFile("E:/1");
}
// 拷贝文件
private void copyFile2(String source, String dest) {
try {
File in = new File(source);
File out = new File(dest);
FileInputStream inFile = new FileInputStream(in);
FileOutputStream outFile = new FileOutputStream(out);
byte[] buffer = new byte[10240];
int i = 0;
while ((i = inFile.read(buffer)) != -1) {
outFile.write(buffer, 0, i);
}//end while
inFile.close();
outFile.close();
}//end try
catch (Exception e) {
}//end catch
}//end copyFile
}
分享到:
相关推荐
Java I/O 文件操作是Java编程中的重要组成部分,它允许开发者处理输入和输出,涉及文件的创建、读取、写入、删除以及复制等任务。在Java中,这些操作主要是通过java.io包提供的类来实现的。下面将详细介绍这些知识点...
在实现文件复制时,我们通常会使用`BufferedInputStream`和`BufferedOutputStream`来提高效率,它们可以一次性读写多个字节,减少磁盘I/O操作的次数。 3. **递归复制文件夹**:当需要复制一个文件夹及其所有子...
FTP本身不直接支持文件复制,但可以通过先下载再上传的方式来实现。首先下载目标文件到本地,然后上传到FTP服务器的另一个位置。 ```java // 下载 OutputStream localOutputStream = new FileOutputStream(...
这使得用户可以在进行耗时操作(如大文件复制)时仍可以继续使用其他功能,提高了用户体验。 5. **事件监听**:在GUI应用中,按钮点击、菜单选择等用户行为通常需要监听。Java的`ActionListener`接口和事件类(如`...
下面将详细讨论Java中文件复制和删除的关键知识点,以及可能用到的相关API。 1. **文件操作基础**: - Java中的`java.io.File`类是文件和目录路径名的抽象表示形式。它可以用来创建、删除、重命名文件或目录,以及...
在Java中,我们可以使用`File.copy()`方法进行文件复制,但请注意,这并不适用于跨文件系统的操作。对于更复杂的情况,如递归复制整个目录结构,我们需要编写自定义逻辑,遍历目录并逐个复制文件。例如,我们可以...
java 文件或文件夹 创建 删除 复制 移动 指定目录等
五、文件复制 复制文件通常涉及先下载再上传。首先下载文件到本地临时文件,然后上传到服务器的另一个位置: ```java // 下载 File tempFile = File.createTempFile("temp", null); OutputStream out = new ...
1. **Java文件复制** 文件复制通常涉及读取源文件内容并将其写入目标文件。在Java中,我们可以使用`java.io`包中的`BufferedReader`和`BufferedWriter`或者`FileInputStream`和`FileOutputStream`来实现。例如,...
在这个“文件复制、显示及修改java代码”的示例中,我们将深入探讨如何使用Java来处理这些操作,特别是针对TXT文本文件。 首先,让我们了解如何读取TXT文件的内容。在Java中,`java.io`包提供了多种类用于文件操作...
在 Java 中,可以使用 FileInputStream 和 FileOutputStream 来实现文件复制。 三、文件删除 文件删除是指将文件从磁盘上删除。在 Java 中,可以使用 File 类的 delete 方法来实现文件删除。例如: `File f = new...
【JAVA文件管理器】是一个基于JAVA编程语言开发的实用工具,它允许用户通过命令行界面执行一系列文件和文件夹操作。这个系统的核心功能包括打开、关闭、复制以及加密文件和目录,极大地提升了用户在终端环境下对文件...
9. **文件复制**: 在Java中,可以使用`FileInputStream`和`FileOutputStream`进行简单的文件复制,或者使用`Files.copy()`方法进行更高效的复制。 10. **异常处理**: 在进行文件操作时,必须考虑到可能出现的异常,...
Java文件操作是编程中不可或缺的一部分,尤其是在处理I/O流、文件读写以及文件管理时。Apache Commons IO是一个非常实用的库,它为Java开发者提供了大量的工具类和方法,以简化文件操作。在这个场景中,我们关注的是...
因为文件系统监听和文件复制可能涉及I/O操作,这些操作通常是阻塞的,如果在一个线程中执行,可能会阻塞程序的其他部分。为了解决这个问题,我们可以创建一个单独的线程或线程池来处理文件复制。在Python中,可以...
考虑到文件很多,日志解压、移动文件每解压、移动1000个记录一次,合并、删除文件每合并、删除50000个记录一次, 3. 启动任务前需配置文件解压合并的路径,本程序需配置的路径如下: 1). PROVINCE_DIR:原始文件存放...
# java实现对文件的各种操作的工具类 ## 可以实现的操作有: 1. 删除单个文件 2. 删除文件夹及文件夹下的文件 3. 使用文件流对单个文件进行复制 4. 复制整个文件夹内容(包含子文件夹中的所有内容) 5. ...
这个名为"File-Operation-by-java.rar"的压缩包包含了一个用Java实现的文件操作示例,它演示了如何进行文件复制、移动、删除以及新建等基本操作。让我们详细探讨一下这些功能的实现。 1. **文件复制**: 文件复制...
以下是一个简单的Java文件移动代码示例: ```java import java.io.File; import java.io.IOException; public class FileMoveExample { public static void main(String[] args) { String sourceFilePath = ...