`

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 file类java file类java file类操作实例

    Java GUI File 源码实例

    Java GUI File 源码实例 Java GUI File 源码实例 赞!!!

    Java中File类对文件的几个常见操作实例总结

    创建文件是 File 类的基本操作之一。使用 File 类的 createNewFile() 方法可以创建一个新文件。例如: ```java File file = new File("I:\\test\\testfile.txt"); if (!file.exists()) { try { new File(file....

    Java Scanner、File、PrintWriter使用实例

    Java Scanner File PrintWriter使用实例

    java File 文件操作

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

    java file 文件操作例子

    java 文件操作 实例,让大家复习一下

    Java IO文件操作类与复制文件实例.rar

    Java IO文件操作类与复制文件实例,有关文本编辑、FileWriter文件写入、FileReade文件读娶DataStream文件数据流、BufferedReader文件暂存器、FileViewer文件浏览器、复制文件Copy等方面的操作要领,仅供学习参考。

    java上传文件实例

    &lt;%@page import="java.io.File,java.util.Date;"%&gt; String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %&gt; ...

    基于JAVA的GDAL生成gdb实例代码

    主要用于讲解如何使用开源的JAVA语言在地理信息开发中生成gdb文件,示例代码亲测可用,对于初学者有很好的帮助。

    Java中File的实例详解

    主要介绍了Java中File的实例详解的相关资料,File代表文件或者目录的类,这里对使用方法进行详细介绍,需要的朋友可以参考下

    java+JDK+examples.rar_Swing Examples_java Applet_java file handl

    共有19个章节,169个实例,内容涉及Java的语言基础、面向对象程序设计、数字处理、数组与集合、字符串、异常处理、文件操作、多线程、Swing编程、图形和多媒体编程、反射机制、网络程序设计、数据库编程、Applet、...

    Java File类的详解及简单实例

    主要介绍了Java File类的详解及简单实例的相关资料,希望通过本文大家能够掌握这部分内容,需要的朋友可以参考下

    java读写文件实例

    java读取file实例,简单清晰。希望能帮助大家。

    Java实现文件监控器FileMonitor的实例代码

    主要介绍了Java实现文件监控器FileMonitor的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    java编程基础,应用与实例

    第3章 Java语言的基本语法 13 3.1 代码编写规则 13 3.2 注释 13 3.3 标识符 14 3.4 变量和常量 15 3.5 数据类型 16 3.5.1 基本数据类型 16 3.5.2 对象类型 21 3.6 类型转换 21 3.6.1 自动类型...

    Java-文件操作File类

     Java中提供的文件操作类主要是File,File类既可用于表示磁盘上存在的一个普通文件,也可用于表示该普通文件所在的目录,这里主要对其构造方法和基本的常用方法进行介绍。 正文: 文件类File概述  Java中的File类...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    15.2.5 [tag-file]元素 460 15.2.6 [function]元素 461 15.3 传统标签的开发 462 15.3.1 实例一:[hello]标签 462 15.3.2 实例二:[max]标签 465 15.3.3 实例三:[greet]标签 467 15.3.4 实例四:[switch]标签...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    15.2.5 [tag-file]元素 460 15.2.6 [function]元素 461 15.3 传统标签的开发 462 15.3.1 实例一:[hello]标签 462 15.3.2 实例二:[max]标签 465 15.3.3 实例三:[greet]标签 467 15.3.4 实例四:[switch]标签...

    Java生成密钥的实例.rar

    Java生成密钥的实例  //产生单钥加密的密钥(myKey)  KeyGenerator keyGenerator = KeyGenerator.getInstance("DESede"); //采用DESede算法  keyGenerator.init(168); //选择DESede算法,密钥长度为112位或168位...

Global site tag (gtag.js) - Google Analytics