- 浏览: 237712 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (268)
- oracle (15)
- 设计模式 (4)
- java (16)
- 线程(Thread) (1)
- 常用 (4)
- PL/SQL (1)
- SWING (10)
- 架构 (4)
- 正则表达式 (5)
- Linux (16)
- PostgreSQL (1)
- FTP (1)
- mysql (4)
- TOMCAT (5)
- 素材 (2)
- Hibernate (3)
- 报表打印 (1)
- 高并发,大数据量处理 (6)
- UML (1)
- memcache (3)
- JMF (1)
- 通信 (2)
- window常见问题处理 (5)
- eclipse (7)
- 数据库 (2)
- java内存 (4)
- maven (4)
- Spring (12)
- JavaScript (22)
- nodejs (5)
- OSGI (1)
- 其他 (1)
- 企业开发平台 (1)
- web页面懒加载 (3)
- VMware (2)
- hadoop (2)
- hadoop.hadoop学习笔记 (1)
- web前端 (32)
- vim (6)
- CSS (21)
- web前端.widget (2)
- Activiti (1)
- BPMN (1)
- Cookie (1)
- nigix (1)
- SVN (1)
最新评论
-
woodding2008:
太棒了
用一段代码演示马云双十一晚会上玩的纸牌魔术 -
nihaonihao1987:
[b][/b]
特别响、非常近——BPMN2新规范与Activiti5 -
coosummer:
推荐使用http://buttoncssgenerator.c ...
CSS Button -
tw_wangzhengquan:
ahua186186 写道compile 'com.oracl ...
ext4,spring,hibernate构建企业开发平台 -
ahua186186:
compile 'com.oracle:ojdbc14:10. ...
ext4,spring,hibernate构建企业开发平台
FileOperate.java MergeFile.java import java.io.*; //private String srcfile; } }
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();
}
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);
}
}
import java.util.*;
public class MergeFile {
private String descfile="E:\\merge";
MergeFile(){
}
public void merge(List<File> srcfiles,String descfile){
if(descfile!=null&&!descfile.isEmpty()){
this.descfile=descfile;
}
File mergefile=new File(descfile);
if(!mergefile.exists()){
mergefile.mkdirs();
}
for(File file:srcfiles){
if(file!=null){
for(File fille2:file.listFiles()){
try {
recursion( file.getPath(), fille2);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
public void recursion(String root,File vFile) throws IOException{
if(vFile.isFile()){
File descfile=new File(getRelativePath(root,vFile.getPath()));
copy( vFile, descfile);
}
else {
/*System.out.println(" path="+vFile.getPath());
System.out.println("CanonicalPath="+vFile.getCanonicalPath());
System.out.println(" absolutePath="+vFile.getAbsolutePath());
System.out.println(" relativePath="+getRelativePath(root,vFile.getPath()));*/
File directoryFile=new File(getRelativePath(root,vFile.getPath()));
if(!directoryFile.exists()){
directoryFile.mkdir();
}
File[] files=vFile.listFiles();
if(files!=null && files.length>0){
for(File file:files){
recursion(root,file);
}
}
else{
return;
}
}
}
/**
* 复制单个文件
* @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();
public void copy(File srcFile,File descFile){
copyFile( srcFile.getPath(), descFile.getPath());
/*FileOutputStream out=null;
FileInputStream in=null;
try {
out=new FileOutputStream(descFile);
in=new FileInputStream(srcFile);
byte[] buffer=new byte[1024*8];
while(in.read(buffer)!=-1){
out.write(buffer);
out.flush();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
try {
if(in!=null){
in.close();
}
if(out!=null){
out.flush();
out.close();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}*/
}
public String getRelativePath(String root,String file){
return descfile+file.substring(root.length());
}
public static void main(String[] args){
List<File> files=new ArrayList<File>();
/*files.add(new File("E:\\test\\AppFramework.src"));
files.add(new File("E:\\test\\javaws.src"));
files.add(new File("E:\\test\\swing-worker.src"));
files.add(new File("E:\\test\\swingx.src"));
files.add(new File("E:\\test\\TimingFramework.src"));
files.add(new File("C:\\Documents and Settings\\Administrator\\桌面\\新建文件夹 (2)\\SwingSet3"));
*/
files.add(new File("E:\\test2\\a"));
files.add(new File("E:\\test2\\b"));
new MergeFile().merge(files, "E:\\merge2");
System.out.println("merge成功!");
}
}
发表评论
-
2012-05-19 16:23 native2ascii.exe 转码工具使用说明
2014-04-24 18:25 6761. native2ascii.exe的介绍: nativ ... -
电力行业E语言解析包
2014-02-22 17:44 1241电力行业E语言解析包,见附件 -
Java虚拟机内存模型
2013-10-30 15:40 429转:http://blog.csdn.net/zapldy ... -
获取java 抛出的异常信息的字符串
2013-06-01 10:39 1220如何获取java 抛出的异常信息的字符串,as follow ... -
用java的JTable实现类似Excel的报表控件(转)
2012-05-24 17:08 1539用java的JTable实现类似Excel的报表控件( ... -
FTP客户端(利用sun.net.ftp.FtpClient实现)-转
2012-03-30 14:03 810转:http://wuhongyu.iteye.com/blo ... -
java生成数据库表序列号
2012-03-25 10:26 1476插入数据库数据时往往要生成自增的序列号,该代码提供了方便生产序 ... -
数据导入小工具源码
2012-03-09 12:03 1047数据导入小工具源码 -
JMX
2012-03-08 16:58 760http://www.ibm.com/developerwor ... -
序列化
2012-03-06 11:01 611InputStream fis = new FileIn ... -
JAVA调用系统命令或可执行程序
2012-02-24 15:35 816转:http://wuhongyu.iteye.com/blo ... -
java中的transient(转)
2011-11-01 15:46 887转:http://www.blogjava.net/liuga ... -
POI导出报表 ExcelUtil
2011-09-29 17:37 1268import java.io.IOException;im ... -
报表导出ExcelUtil2
2011-09-29 17:34 890import java.io.IOException ... -
Java DecimalFormat 格式化数字
2011-09-29 17:32 812我们经常要将数字进行格式化,比如取2位小数,这是最常见的 ...
相关推荐
- **读取文件**:`BufferedReader`或`FileReader`类可用于读取文件内容。例如,`new BufferedReader(new FileReader("path/to/file.txt"))`可以打开一个文件并逐行读取。 - **写入文件**:`BufferedWriter`或`...
这可能是一个读取或写入文件的程序,展示了如何打开文件、设置读写模式、处理文件内容以及关闭文件。分析这个代码可以帮助我们更好地掌握文件流的基本用法。 总结一下,文件流操作是编程中一个基础但重要的概念,它...
在FileOperate类中实现readInput读取文件操作。其中solution是LineSolution类的对象,在LineSolution中调用,这是根据自然语言处理相关知识实现宋词自动生成系统和中文分词系统。实现语言为java,编译器eclipse,...
3. **文件操作**:项目中的`Fileoperate.java`文件涉及到文件读写操作,可能包括读取和保存用户的课程信息。Java提供了丰富的文件操作API,如`File`、`BufferedReader`和`PrintWriter`等,用于处理文件的创建、读取...
此任务要求对比`FileInputStream`和`FileReader`类对象读取文件的区别。`FileInputStream`用于处理字节流,而`FileReader`处理字符流。比较两者性能差异有助于理解它们在不同场景下的适用性。 **任务三:读取并输出...
"FileOperate"很可能是一个关于Java文件操作的项目或者库,旨在提供方便、高效的文件处理功能。在这个项目中,我们可能会遇到一系列与文件和目录相关的操作,如创建、读取、写入、删除文件,以及遍历目录等。以下是...
- 类可能包含读取和写入文件的方法,如使用 `BufferedReader` 和 `FileReader` 读取文件,`PrintWriter` 写入文件。 - `Scanner` 可能用于获取用户输入,进行文件操作时的交互。 在实际运行中,`FileOperate` 类...
- 实验二:比较`FileInputStream`和`FileReader`读取文件的性能差异。 - 实验三:使用文件输入流读取特定文本文件的前5个字节并输出。 - 实验四:实现异常处理,确保用户输入的文件名有效,并将文件内容显示在...
通常,这些方法会涉及读取文件内容,解析客户信息,更新数据,并将更改写回文件。 在实际的系统中,`FileOperate` 类可能会实现以下功能: - `addCustomer(Person p)`:将新客户信息写入文件。 - `deleteCustomer...
getList方法读取文件内容,将每一行数据转化为Person对象并存入ArrayList中返回。saveList方法则将列表中的Person对象写回文件,以备后续查询和操作。 通过这三个类的协作,客户管理系统实现了对客户数据的增删改查...
虽然代码中没有直接展示,但通常会有一个`ArrayList`或`List`对象来保存所有的客户对象,然后在需要时读取文件中的数据填充列表,或者将列表中的数据写入文件。 5. **用户交互**: - `Menu` 类通过控制台输出和...
在这个系统中,用户通过`Menu`类提供的菜单选择操作,然后`FileOperate`类根据用户的选择执行相应的文件操作,如读取、写入或更新客户数据。为了完整实现这个系统,还需要添加实际的业务逻辑,比如根据用户选择的...
`FileOperate`类实现了文件操作,用于读取、写入和处理保存在文件中的客户数据。在这里,客户信息被存储在一个名为`info.dat`的文件中。类的构造函数检查文件是否存在,如果不存在,则创建一个新的文件。 `...
类中使用`FileReader`和`BufferedReader`读取文件,`PrintWriter`写入文件,实现了对文本文件的基本操作。`FileOperate`还包含了处理文件操作的其他方法,例如,可能包括添加客户、删除客户、修改客户信息以及查询...
- 使用 `BufferedReader` 和 `FileReader` 读取文件,`PrintWriter` 写入文件,处理IO异常。 - `ArrayList` 和 `List` 用于存储客户对象,便于进行增删改查操作。 - 类中还可能包含其他方法,如添加客户、删除...
- 类使用 `File` 对象来处理文件操作,`BufferedReader` 和 `FileReader` 用于读取文件,`PrintWriter` 用于写入文件。 - `Scanner` 对象用于从系统输入获取用户选择的操作或查询条件。 - 此类通常会包含方法来...
通过`FileOperate`类进行文件的读写,`Person`类封装个人数据,而`Operate`类则提供了与用户交互的接口,实现信息的管理功能。这样的程序不仅锻炼了Java基本技能,还涉及到了面向对象编程、异常处理和文件操作等多个...