`
sisi1984117
  • 浏览: 151288 次
  • 性别: Icon_minigender_2
  • 来自: 上海
社区版块
存档分类
最新评论

【转】文件操作相关

阅读更多

package com;



import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

import java.io.FileWriter;
import java.util.regex.*;


public class FileDeal
{

  private String OriPathName;
  private String DesPathName;
  private File mFile;

  public FileDeal(String aStr) {
    OriPathName = aStr;
  }

  public boolean FileCopy(String aStr) {
    try {
      DesPathName = aStr;
      int nChar = -1;
      FileInputStream in = new FileInputStream(OriPathName);
      FileOutputStream out = new FileOutputStream(DesPathName);
      while ( (nChar = in.read()) != -1) {
        out.write(nChar);
      }
      out.flush();
      in.close();
      out.close();
    }
    catch (Exception ex) {
      ex.printStackTrace();
      // @@错误处理
//      CError tError = new CError();
//      tError.moduleName = "FileDeal";
//      tError.functionName = "FileCopy";
//      tError.errorMessage = "文件复制出错!";
//      this.mErrors.addOneError(tError);
      return false;
    }
    return true;
  }

  public boolean FileMove(String aStr) {
    try {
      DesPathName = aStr;
      mFile = new File(OriPathName);
      File tFile = new File(DesPathName);
      if (!mFile.renameTo(tFile)) {
        // @@错误处理
//        CError tError = new CError();
//        tError.moduleName = "FileDeal";
//        tError.functionName = "FileMove";
//        tError.errorMessage = "文件移动出错!";
//        this.mErrors.addOneError(tError);
        return false;
      }
      if (!mFile.createNewFile()) {
        // @@错误处理
//        CError tError = new CError();
//        tError.moduleName = "FileDeal";
//        tError.functionName = "FileMove";
//        tError.errorMessage = "文件移动出错!";
//        this.mErrors.addOneError(tError);
        return false;
      }
      tFile = new File(OriPathName);
      if (!tFile.delete()) {
        // @@错误处理
//        CError tError = new CError();
//        tError.moduleName = "FileDeal";
//        tError.functionName = "FileMove";
//        tError.errorMessage = "文件移动出错!";
//        this.mErrors.addOneError(tError);
        return false;
      }
    }
    catch (Exception ex) {
      ex.printStackTrace();
      // @@错误处理
//      CError tError = new CError();
//      tError.moduleName = "FileDeal";
//      tError.functionName = "FileMove";
//      tError.errorMessage = "文件移动出错!";
//      this.mErrors.addOneError(tError);
      return false;
    }
    return true;
  }

  public boolean FileDel() {
    File tFile = new File(OriPathName);
    if (!tFile.delete()) {
      // @@错误处理
//      CError tError = new CError();
//      tError.moduleName = "FileDeal";
//      tError.functionName = "FileDel";
//      tError.errorMessage = "文件删除出错!";
//      this.mErrors.addOneError(tError);
      return false;
    }
    return true;
  }
    public static boolean writeText(String fileName, String content) {
      return writeText(fileName, content, "GBK");
    }

    public static boolean writeText(String fileName, String content,
                                    String encoding) {
      try {
        FileOutputStream fis;
        fis = new FileOutputStream(fileName);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fis,
            encoding));
        bw.write(content);
        bw.flush();
        bw.close();
        fis.close();
      }
      catch (Exception e) {
        e.printStackTrace();
        return false;
      }
      return true;
    }

    public static boolean appendText(String fileName, String content) {
      try {
        FileWriter fw = new FileWriter(fileName,true);
        File f = new File(fileName);
        if(f.exists()){
           fw.write("\n");
        }
        fw.write(content);
        fw.flush();
        fw.close();
      }
      catch (Exception e) {
        e.printStackTrace();
        return false;
      }
      return true;
    }

    public static String readText(String fileName) {
      return readText(fileName, "GBK");
    }

    public static String readText(String fileName, String encoding) {
      try {
        InputStream is = new FileInputStream(fileName);
        BufferedReader br = new BufferedReader(new InputStreamReader(is,
            encoding));
        StringBuffer sb = new StringBuffer();
        String line;
        while ( (line = br.readLine()) != null) {
          sb.append(line);
          sb.append("\n");
        }
        br.close();
        is.close();
        return sb.toString();
      }
      catch (Exception e) {
        e.printStackTrace();
      }
      return null;
    }

    public static void main(String[] args) {
    String md = "\nF2738.gif:F3AC94E2639E12964F68348C6D49E942\nF2737.gif:F3AC94E2639E12964F68348C6D49E98E";
    String[] p = md.split("\n");
    for(int i= 0;i<p.length;i++){
      String[] t = p[i].split(":");
      for(int j = 0;j<t.length;j++){
        System.out.println(t[j]);
      }
    }
    boolean have = Pattern.compile("F3AC94E2639E12964F68348C6D49E942").matcher(md).find();
    if(have){
      System.out.println("have");
    }else{
      System.out.println("not have");
    }
    File f = new File("D:\\sinosoft\\lis\\ui\\xerox\\EasyScan\\8611\\2005\\10\\17\\LIS.MD5");
  if(f.delete()){
  System.out.println("have delete");
}else{
  System.out.println("not delete");
}

    }
}
 package com;


import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;


public class TestFile {

	public TestFile(){
		
	}
	
	private boolean TestFileDelete(String tFilePath){
		File tFile = new File(tFilePath);
		if(!tFile.exists()){
			return true;
		}
		
		if(tFile.isFile()){
			tFile.delete();
		}else if(tFile.isDirectory()){
			File[] tSubFiles = tFile.listFiles();
			for(int i=0;i<tSubFiles.length;i++){
				File tSubFile = tSubFiles[i];
				TestFileDelete(tSubFile.getAbsolutePath());
			}
			tFile.delete();
		}
		
		return true;
	}
	
	private boolean TestFileDelete(String tFilePath,String tFileName){
		File tFile = new File(tFilePath);
		if(!tFile.exists()){
			return true;
		}
		
		if(tFile.isFile()){
			String sFileName = tFile.getName();
			if(sFileName.equals(tFileName)){
				tFile.delete();
			}
		}else if(tFile.isDirectory()){
			File[] tSubFiles = tFile.listFiles();
			for(int i=0;i<tSubFiles.length;i++){
				File tSubFile = tSubFiles[i];
				TestFileDelete(tSubFile.getAbsolutePath(),tFileName);
			}
			//tFile.delete();
		}
		
		return true;
	}
	
	private boolean TestFileCopy(String tNewFilePath,String tOldFilePath){
		//判断文件是否存在
		File tFile = new File(tOldFilePath);
		if(!tFile.exists()){
			return true;
		}
		//生成新文件路径
		File tNewDirectory = new File(tNewFilePath);
		FileDeal tFileDeal = null;
		
		if(tFile.isFile()){
			tFileDeal = new FileDeal(tOldFilePath);
			tFileDeal.FileCopy(tNewDirectory.getAbsolutePath()+"\\"+tFile.getName());
			System.out.println("----->CCC-当前目录"+tNewDirectory.getAbsolutePath()+"下的新文件为"+tFile.getName());
		}else if(tFile.isDirectory()){
			//如果移动文件夹,先创建移动后的新文件夹
			if(!tNewDirectory.exists()){
				tNewDirectory.mkdirs();
				System.out.println("----->AAA-新文件夹的路径为:"+tNewDirectory.getAbsolutePath());
			}
			
			File[] tSubFiles = tFile.listFiles();
			for(int i=0;i<tSubFiles.length;i++){
				File tSubFile = tSubFiles[i];
				if(tSubFile.isFile()){
					//移动当前目录下的子文件
					tFileDeal = new FileDeal(tSubFile.getAbsolutePath());
					tFileDeal.FileCopy(tNewDirectory.getAbsolutePath()+"\\"+tSubFile.getName());
					System.out.println("--->BBB-子文件夹"+tNewDirectory.getAbsolutePath()+"下的新文件为:"+tSubFile.getName());
				}else{
					//递归生成当前目录下的子文件夹
					TestFileCopy(tNewDirectory.getAbsolutePath()+"\\"+tSubFile.getName(),tSubFile.getAbsolutePath());
				}
			}
		}
		
		return true;
	}

	public static void main(String[] args) {
		TestFile tTestFile = new TestFile();
		if(1==2){
			tTestFile.TestFileDelete("D:\\abc");
			tTestFile.TestFileDelete("D:\\Eclipse\\workspace\\lisnal","vssver.scc");
		}else{
			Date current = new Date();
			DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSSSSS");
			tTestFile.TestFileCopy("D:\\CopyTest\\"+df.format(current), "D:\\Program Files\\Eclipse\\J2EE\\eclipse\\logs\\homevvWebServLogs");
//			if(flag){
//				System.out.print("结果:失败");
//			}else{
//				System.out.print("结果:成功");
//			}
			
		
		}
	}
}
 
分享到:
评论

相关推荐

    深度学习数据集txt文件转xml

    如果需要将TXT文件转换为XML文件格式,可以按照以下步骤进行操作: 读取TXT文件:首先,需要读取包含目标检测标注信息的TXT文件。每行通常表示一个目标,每个目标由一系列数据组成,如边界框的坐标和类别标签等。 ...

    c#操作LibreOffice组件进行文件转换

    c#操作Libreoffice组件,对应一些常见的文件格式进行转换,其中包含Word,html,excel,pdf,image,等等,有相关Demo,可以参考实现

    Qt的ts文件转换成excel文件

    使用python将ts文件格式化为excel文件,使用方法,将需要操作的ts文件改名为en2zh.ts,置于exe同级目录下,执行exe即可,输出文件为en2zh.xlsx。 ****** 注:如有定制化处理需求,或者任何相关问题可通过邮箱联系...

    操作系统之模拟文件系统

    文件系统是操作系统中负责存取和管理信息的模块,它采用统一方法管理用户信息和系统信息的存储、检索、更新、共享和保护,并为用户提供一整套行之有效地文件使用及操作方法。“文件”这一术语不但放映用户概念中的...

    简单多用户文件系统-操作系统课程设计.doc

    可提供以下相关文件操作: 具有login (用户登录) 系统初始化(建文件卷、提供登录模块) 列出文件目录:dir 文件内容的查看:view 新建文件:create 删除文件:delete 修改文件:modify 锁定状态转换:lock 注销退出...

    C#资源文件操作的总结

    在这里,我来总结一下关于资源文件的相关操作。 //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法...

    PDF转换器 PDF转换word PDF转换PPT PDF转换Excel等相关操作

    小筱在线PDF转换器,目前功能主要包含:PDF转Word, PDF转PPT, PDF转Excel, PDF转HTML, PDF提取文本文件等相关操作及其逆向操作,除此之外,还提供了诸如PDF置顶页码范围提取新的PDF文件,PDF合并,PDF删除部分内容,...

    Office文件批量转换pdf

    4.文件夹路径时指需要合并的文件所在文件夹的路径,这里需特别注意,选择要合并转换文件所在文件夹的父文件夹,如下图,要合并转换的是各个承包方下的相关表格,需要选择各个承包方文件夹的父文件夹,即“新建文件夹...

    Java的文件处理相关工具类

    提供java中对文件类的各种基本操作,主要包括获取文件的后缀名称,读取文件内容,写入文件内容,拷贝文件,将文件转换为二进制数组等操作,转换为Blob格式类等操作

    VB文件操作与Windows系统相关的42个源代码.rar

    VB文件操作与Windows系统相关的42个源代码:小写金额转换为大写金额、判断驱动器属性、快速全盘文件查找、隐藏、显示桌面、获得Windows和System的路径、根据计算机信息生成序列号、可视化信封打英批量改变多层文件夹...

    BAT批处理脚本-文件相关操作-92个.zip

    BAT批处理脚本-文件相关操作-92个 BAT批处理脚本-文本操作-52个 BAT批处理脚本-格式转换-9个 BAT批处理脚本-清理-清除-垃圾-28个 BAT批处理脚本-系统设置查询修改-硬件相关-139个 BAT批处理脚本-网络相关操作-44个

    python中xls转xlsx代码、操作说明、相关第三方库安装文件及安装方式

    整理了一个python中xls转xlsx的离线安装包和代码,包括教学说明

    批量自动转换pdg为pdf文件

    工具自动调用pdg2pdg和CoffeeEnt2.1.0,自动填写pdg2pdg对话框的相关目录,然后自动点击pdg2pdg和CoffeeEnt 2.1.0对话框的相关按钮,并等待转换结束,将转换的结果记录到日志文件中,然后继续下一个子目录。...

    MATLAB图像文件的操作基础函数使用

    MATLAB图像文件的操作基础函数使用 1 简介 3 查询图像文件的信息 3 图像文件的读写 4 图像文件的显示 4 图像的格式转换 5 简介 MATLAB中的图像处理工具箱体统了一套全方位的标准算法和图形工具,用于进行图像处理、...

    文件属性修改王

    支持文件相关日期搜索; 可以批量更改文件扩展名; 这是开发绿色的全中文免费软件;可以批量更改文件属性; 可以批量更改文件名称; 可以批量更改文件相关日期; 可以批量更改照片拍照日期; 可以批量删除某一类型的...

    Java实现解析dcm医学影像文件并提取文件信息的方法示例

    主要介绍了Java实现解析dcm医学影像文件并提取文件信息的方法,结合实例形式分析了java基于第三方库文件针对dcm医学影像文件的解析操作相关实现技巧,需要的朋友可以参考下

    java文件管理器

    对文件的基本操作:打开、删除、批量删除、重命名、相关属性查看 3. 对磁盘的基本操作:打开、容量及相关属性查看 4. 按需筛选选定目录下的视频、音乐、图片、文本文档类文件 5. 按关键字对文件/文件夹进行检索

    Delphi扩展的文件目录操作函数

    {* 本地时间转文件时间} function GetFileIcon(FileName: string; var Icon: TIcon): Boolean; {* 取得与文件相关的图标,成功则返回True} function CreateBakFile(FileName, Ext: string): Boolean; {* 创建备份...

    java几个实用的文件操作方法.txt

    java几个实用的文件操作方法: 一,比较两个文件内容(按字节) 二,复制文件(按字节) 三,移动文件 四,重命名文件 五,文件与String互转 六,打印文件相关信息 七,示例代码

    公共方法类库dll,转换文件格式,处理字符串,处理图片,处理文件等

    10.RexDeal.cs 用于正则表达式的相关操作 11.SerializationHelper.cs 专门用于对类进行序列化和反序列化操作 12.ServerFileUpLoad.cs 专门用于文件的上传下载,附带了一点对于文件下载时迅雷的使用说明。 13....

Global site tag (gtag.js) - Google Analytics