`

java File的基本操作实例

阅读更多
package com.file.sample;

import java.io.*;

public class FileOperate {
public FileOperate() {
}

/**
* 新建目录
*
* @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);
PrintWriter myFile = new PrintWriter(resultFile);
String strContent = fileContent;
myFile.println(strContent);
resultFile.close();
                            myFile.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){
FileOperate filedemo=new FileOperate();
filedemo.delAllFile("d:/test");
}
}
分享到:
评论
1 楼 nggno1 2009-09-10  
/**
* 新建文件
*
* @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);
PrintWriter myFile = new PrintWriter(resultFile);
String strContent = fileContent;
myFile.println(strContent);
resultFile.close();

} catch (Exception e) {
System.out.println("新建目录操作出错");
e.printStackTrace();

}

}

myFile 未close。。这样不好吧

相关推荐

    java file类操作实例

    这些基本操作是Java文件操作的基础,对于理解和处理文件系统操作至关重要。同时,了解如何处理异常(如`IOException`)也是十分重要的,这可以确保程序在遇到问题时能够优雅地处理并提供反馈。在进行文件操作时,...

    Java GUI File 源码实例

    "Java GUI File 源码实例"很显然是一个包含具体代码示例的资源,旨在帮助开发者理解和学习如何在Java中处理文件操作和创建GUI。 在这个源码实例中,可能涵盖了以下几个关键知识点: 1. **Swing组件**:Swing是Java...

    Java Scanner、File、PrintWriter使用实例

    Java Scanner File PrintWriter使用实例

    java file 文件操作例子

    在本文中,我们将深入探讨`java.io.File`类的使用,通过实例来帮助大家巩固这一关键知识点。 首先,让我们了解`File`类的构造方法。你可以用一个字符串参数来初始化`File`对象,这个字符串可以是文件的绝对路径或...

    java File 文件操作

    java 中很多人对File迷惑,以为它是对文件内容操作的,其实不是的,它主要是文件及其目录的操作。 这里实例是一些文件目录查看器。

    Java安全性编程实例

    例如,使用java.security包下的类来处理加密和认证,使用java.net.URL和java.io.File类时要特别小心,因为它们可能涉及到安全敏感的操作。 Java的反射API虽然强大,但也可能导致安全问题,因为它允许程序在运行时...

    Java目录操作(实例)

    }}在指定目录中查找文件以下实例演示了如何使用Java在指定目录中查找特定文件:/* author by w3cschool.cc Main.java */import java.io.File;import java.util.ArrayList;import java.util.List;public class Main ...

    HDFS的JAVA接口API操作实例

    下面我们将深入探讨HDFS的JAVA接口API操作实例。 首先,使用HDFS API前,需要在项目中引入Hadoop的相关依赖。通常,这可以通过Maven或Gradle来完成,添加对应的Hadoop客户端库到项目的构建文件中。 ```xml &lt;!-- ...

    JAVA 2应用编程实例

    在深入探讨"JAVA 2应用编程实例"这个主题之前,我们先来理解一下Java 2,也就是Java 2平台标准版(Java 2 Platform Standard Edition,J2SE)。它是Java技术的核心部分,提供了构建和运行桌面应用、服务器应用以及...

    220个JAVA初学者实例

    3. **数组与集合**:掌握一维和多维数组的使用,了解ArrayList、LinkedList、HashSet、HashMap等集合框架的基本操作。 4. **字符串处理**:String类是不可变的,学习其常用方法,如substring、indexOf、replace、...

    Java操作XML编程实例解析.doc

    Java操作XML编程主要涉及到以下几个关键知识点: 1. **XML(eXtensible Markup Language)**:XML是一种可扩展的标记语言,用于存储和传输结构化数据。它的设计目的是传输和存储数据,而不是显示数据,因此它不像...

    清华Java程序设计实例教程

    在实例教程中,可能会涉及File类用于文件操作,Socket类进行网络通信,Thread类实现并发执行,以及Swing或JavaFX库构建图形用户界面。 【异常和调试】 在编程过程中,错误和异常是常见的。Java的异常处理机制帮助...

    JAVA 基本语法实例

    Java是一种广泛使用的面向对象的编程语言,以其...以上内容涵盖了Java基本语法的诸多方面,通过实例代码学习和理解这些概念,将有助于提升Java编程能力。记得在实践中不断尝试和调试,这是掌握任何编程语言的最佳方式。

    Java权限控制源码实例.rar

    以下是如何创建和使用`FilePermission`对象的基本步骤: 1. **创建Permission对象**:首先,我们需要创建一个`FilePermission`对象,指定文件路径和所需的权限。例如,如果要授予写入权限,代码可能如下: ```java...

    java file类的方法

    在Java编程语言中,`java.io.File`类是一个非常重要的类,它提供了对文件和目录路径名的抽象表示,并且支持一些基本的操作,例如创建、删除文件或目录等。本文将详细介绍`File`类中的常用构造方法及方法,并给出相应...

    java图像处理实例

    本实例主要探讨如何利用Java进行图像的水印添加、缩放等基本操作。以下是对这些关键知识点的详细解释: 1. **Java图像基础**: Java提供了丰富的类库来支持图像处理,主要包括`java.awt.image`和`javax.imageio`这...

    Java基础编程实例

    6. **输入输出流**:Java.IO包提供了丰富的类用于处理输入输出,如FileInputStream、FileOutputStream、BufferedReader、PrintWriter等,以及高级的File类和NIO(非阻塞I/O)。 7. **异常处理**:理解何时使用try-...

    java的IO简单实例

    Java的输入/输出(IO)流是...这个简单的例子展示了Java IO流的基本用法,但在实际项目中,根据需求可能会涉及更复杂的流操作,如转换流、对象流、过滤流等。理解并熟练掌握这些基础,将有助于解决各种IO相关的问题。

Global site tag (gtag.js) - Google Analytics