`
sisi1984117
  • 浏览: 157568 次
  • 性别: 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("结果:成功");
//			}
			
		
		}
	}
}
 
分享到:
评论

相关推荐

    nc文件转txt

    在Windows系统中,需要将`netcdf.dll`文件复制到`system32`目录下,这样系统才能识别并执行与NetCDF相关的操作。 2. **配置CMD路径**:确保所有相关的转换工具(如ncdump或其他第三方工具)已经下载并放入命令行...

    GNSS: d文件转成o文件

    综上所述,d 文件转 o 文件是 GNSS 数据处理中的一个重要环节,它涉及到数据预处理、坐标转换和观测值计算等一系列复杂操作。理解这个过程并掌握相应的工具和方法,对于高效利用 GNSS 数据进行各种应用是至关重要的...

    DXF文件转XYZ文件

    "adinit26.dat"可能是一个AutoCAD相关的初始化配置文件,但在这个特定的上下文中,它似乎不是直接用于转换过程,可能是遗留的或者与转换工具有关的其他支持文件。 "dxf2xyz.exe"是可执行文件,它是实际进行DXF到XYZ...

    PDB文件转TXT文件工具

    获取PDB文件后,按照以下步骤操作: 1. **运行工具**:找到"PDB-TXT.exe",双击运行。如果需要在命令行环境中使用,可以打开命令提示符或PowerShell,并定位到该可执行文件的目录。 2. **输入参数**:在命令行界面...

    C# 文件转换base64

    在实际项目中,文件转Base64操作通常用于上传文件至服务器,存储在数据库中,或者在网络中以文本形式传输。了解并熟练掌握这一技巧对于C#开发者来说是非常重要的。在标签中提到的"C#文件转base64 文件转换"是一个...

    TXT文本转成BIN文件

    在IT领域,转换文件格式是常见的操作之一,例如将TXT文本转换为BIN文件。TXT文件是一种常见的纯文本格式,用于存储人类可读的数据,而BIN文件通常代表二进制文件,可能包含计算机程序、数据或其他特定格式的信息。...

    C语言文件操作相关资料

    在C语言中,文件操作主要通过文件指针来实现,而与文件操作相关的头文件是stdio.h。 首先,文件可以按照不同的标准进行分类。按照文件的逻辑结构,文件可以是记录文件或流式文件。记录文件由具有一定结构的记录组成...

    Qt文件操作示例程序

    **Qt文件操作示例程序** Qt是一个跨平台的C++图形用户界面应用程序开发框架,它提供了丰富的API用于处理各种文件操作。在这个示例程序中,我们可能会看到如何在Qt中进行基本的文件读写、文件操作监控以及进度条的...

    oracle blob转文件读取

    ### Oracle Blob类型转换为文件读取的相关知识点 在软件开发过程中,尤其是在处理数据库中的二进制大对象(Binary Large Object, 简称BLOB)时,经常需要将数据库中的BLOB数据转换为文件进行读取或处理。本文将详细...

    Tab、MIF文件转换为SHP文件的小软件

    Tab文件是MapInfo软件的原生格式,它存储了地图的几何信息(如点、线、面)以及相关的属性数据。MapInfo是一款广泛使用的桌面GIS软件,用于地图制作、数据分析和空间查询。Tab文件通常包含一系列的关联文件,如.MAP...

    dat转mat文件的工具

    在实际操作中,了解数据格式和使用合适的工具或编程方法是关键。如果`.dat`文件的结构复杂,可能需要编写自定义脚本来处理,尤其是在缺乏明确文档的情况下。在转换过程中遇到问题时,查阅相关文档或在线资源通常能...

    ply.zip_obj文件转ply_ply文件_ply文件读取_site:www.pudn.com_读取ply文件

    在C++环境中,这需要对文件I/O操作和数据结构有深入的理解,同时也需要熟悉PLY文件的格式规范。通过“ply.zip_obj”中的内容,你可以学习到如何在实际项目中应用这些技术,实现3D模型的转换和处理。

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

    3. **操作说明** - 首先,确保Python环境已配置好,`pandas`和`openpyxl`库已成功安装。 - 编写上述Python代码,并将输入和输出文件路径替换为你实际的文件路径。 - 运行代码,Python会读取xls文件,然后将其转换...

    将vbs文件转换为bat文件

    在某些情况下,当VBS或BAT脚本涉及到文件操作时,可能会遇到权限问题,这时这个工具就派上用场了。 3. **原理&说明&彩蛋.txt**:这是一个文本文件,详细解释了VBS转BAT的原理,可能包括如何解析VBS脚本、如何将VBS...

    hex文件转二进制工具

    压缩包子文件的文件名称“HEXתBIN.exe”暗示这可能是一个Windows操作系统下的可执行文件,它的功能就是执行HEX到二进制的转换操作。用户只需运行这个程序,并提供输入的HEX文件路径和输出的二进制文件路径,就可以...

    sb3转html文件和exe文件超详细教程.rar

    "j.jpg"可能是一张与转换过程相关的截图,而"sb3转html文件和exe文件.pdf"则可能是一个详细的指南,包含每个步骤的说明、注意事项和可能遇到的问题解答。阅读这份PDF文档将有助于你更好地理解和完成转换操作。 总之...

    QT实现HEX文件操作

    下面将详细讨论QT如何实现HEX文件操作,并结合提供的资源,如《HEX文件格式解析.pdf》和源码工程,探讨相关知识点。 首先,了解HEX文件格式至关重要。HEX文件包含一系列记录,每个记录由起始字符、地址字段、数据...

    excel文件转json文件

    Node.js拥有丰富的生态系统,其中包括许多用于文件操作和数据转换的模块。 Gulp则是一个自动化构建工具,它使用JavaScript编写任务脚本,可以自动执行诸如编译、压缩、测试等重复性工作。在我们的案例中,Gulp可能...

    MATLAB mat文件转mdf

    MDF SDK通常提供API,使得开发者可以方便地在各种编程语言中创建和操作MDF文件。 4. **ExportMDF-master项目**:这个压缩包可能包含一个MATLAB项目,提供转换脚本和示例。项目可能包括: - `exportMDF.m`:主转换...

    dll文件转换为lib

    在给定的文件列表中,`mspdb120.dll`通常与Visual Studio的C++编译器相关,可能是调试库的一部分;`link.exe`是Visual Studio的链接器,用于构建可执行文件或库;`pexports.exe`就是上面提到的导出DLL函数的工具;`...

Global site tag (gtag.js) - Google Analytics