/**
* 类描述:JAVA实现文件操作,网上抄来的代码,大家根据自己的需要改改用吧。
* 建议版主将这堆代码加入FAQ吧,对大家应该有用的。
* @author moumoulrc
* @version build 2005-2-21
*
*/
import java.io.*;
public class FileOperate {
public FileOperate() {
}
/**
* 新建目录
*
* @param folderPath String 如 c:/moumoulr
*
* @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:/moumoulrc.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();
}
}
/**
* 删除文件
*
* @param filePathAndName String 文件路径及名称 如c:/moumoulrc.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:/moumoulrc
* @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:/moumoulrc
*/
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:/moumoulrc.txt
* @param newPath String 复制后路径 如:f:/moumo
* @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
* @param newPath String 如:d:/fqf
*/
public void moveFolder( String oldPath, String newPath ) {
copyFolder( oldPath, newPath );
delFolder( oldPath );
}
public static void main( String args[] ) {
FileOperate a = new FileOperate();
//测试用代码......
}
}
分享到:
相关推荐
java_io_文件操作_复制_删除_移动_下载
java io 文件操作大全 目录的建立/检查与删除 如何在JSP中处理虚拟目录 文件属性的取得 取出目录中文件的方法 判断是否为空白文件 读取所有的文件数据 一行一行读取数据 略过文件中的字符不读取 将数据写入文件 将...
主要介绍了Java基于IO流读取文件的方法,涉及Java文件流操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
Java 中的一些基本文件操作,包括:文件操作(移动、读写)和文本文件读写
Java_IO种各接口描述,File类,文件和目录操作
java IO写入读取操作,防止乱码,JavaIO分页读取
文件流 读写操作,对java.io.*;中文件读写的一些相关信息
java编写的简单的io操作源代码!包含文件的复制,删除,新建,移动等一般的操作!很详细
集成创建文件,创建目录,删除单个文件,删除单个目录,删除文件夹里内容,复制文件,复制文件夹,剪切文件,剪切文件夹等操作方法. 特上传分享
java做的简单文件IO操作,实现文件的读写追加功能。 压缩包里面有程序运行时的截图。
用java对文件操作的一些代码(包括文件读取,移动,删除,复制......)
java I\O流及文件操作,是初学者很好的资源。
java_IO操作_(读写、追加、删除、移动、复制、修改)
Java IO文件操作类与复制文件实例,有关文本编辑、FileWriter文件写入、FileReade文件读娶DataStream文件数据流、BufferedReader文件暂存器、FileViewer文件浏览器、复制文件Copy等方面的操作要领,仅供学习参考。
JAVA IO文件操作实用ppt教程,从入门学起,有丰富的例子
关于java的IO流基础的练习,适合刚接触IO流,没有基础的同学
javaIO文件操作.pdf
io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部 io java 文件操作 命令 全部
详细介绍了JAVA常用的文件IO接口类和内存读写接口类。
完整的文件io 流操作,有四个函数, Writer read inputStream outputStream自己总结的东东,让大家用用,不图得分,