`
bsr1983
  • 浏览: 1117608 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java常用文件操作类

 
阅读更多

import java.io.File;
import java.io.FileOutputStream;
import java.net.URISyntaxException;
import java.net.URL;

/**
 * 创建日期:Feb 24, 2011
 * Title:
 * Description:对本文件的详细描述,原则上不能少于50字
 * @author 
 * @mender:(文件的修改者,文件创建者之外的人)
 * @version 1.0
 * Remark:认为有必要的其他信息
 */

public class FileUtil 
{
	/**
	 * 输出路径时统一使用的分隔符
	 */
	public static String filePathSepChar="/";
	/**
	 * 
	 * 功能:获取当前运行路径
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @return
	 */
	public static String getRunDicPath()
	{
		String runDicPath="";
		URL runDirURL=FileUtil.class.getProtectionDomain().getCodeSource().getLocation();
		if(runDirURL!=null)
		{
			File runDir=null;
			try {
				runDir = new File(runDirURL.toURI());
				if(runDir!=null&&runDir.getParent()!=null)
				{
					runDicPath=runDir.getParent();
					System.out.println("运行目录:"+runDicPath);
				}
			} catch (URISyntaxException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
		}
		return runDicPath;
	}
	/**
	 * 
	 * 功能:判断指定的文件路径是否存在
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @param filePath
	 * @return
	 */
	public static boolean isExitPath(String filePath)
	{
		boolean isExit=false;
		if(filePath!=null&&filePath.length()>0)
		{
			File file=new File(filePath);
			if(file!=null&&file.exists())
			{
				isExit=true;
			}
		}
		return isExit;
	}
	/**
	 * 
	 * 功能:判断指定的路径是否是一个存在的目录
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @param dicPath
	 * @return
	 */
	public static boolean isDicPath(String dicPath)
	{
		boolean isExit=false;
		if(isExitPath(dicPath))
		{
			File file=new File(dicPath);
			if(file!=null&&file.exists()&&file.isDirectory())
			{
				isExit=true;
			}
		}
		return isExit;
	}
	/**
	 * 
	 * 功能:判断指定的路径是否是一个存在的文件
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @param dicPath
	 * @return
	 */
	public static boolean isFilePath(String filePath)
	{
		boolean isExit=false;
		if(isExitPath(filePath))
		{
			File file=new File(filePath);
			if(file!=null&&file.exists()&&file.isFile())
			{
				isExit=true;
			}
		}
		return isExit;
	}
	/**
	 * 
	 * 功能:获取相对于上级目录(可能不是直接的父目录)的子文件路径
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @return
	 */
	public static String getRelativePath(String parentPath,String childPath)
	{
		String relativePath="";
		if(isExitPath(parentPath)&&isExitPath(childPath))
		{
			File childFile=new File(childPath);
			File parentFile=new File(parentPath);
			if(parentFile!=null&&childFile!=null)
			{
				relativePath=childPath.substring(parentPath.length());
				//如果文件路径以分隔符开头,则去掉分隔符
				if(relativePath.startsWith(File.separator))
				{
					relativePath=relativePath.substring(1,relativePath.length());
				}
				String replaceChar="";
				if(File.separator.equals("\\"))
				{
					replaceChar="\\\\";
					//将文件分隔符替换为指定的分隔符
					relativePath=relativePath.replaceAll(replaceChar, filePathSepChar);
				}
			}
		}
		return relativePath;
	}
	/**
	 * 
	 * 功能:获取相对于上级目录(可能不是直接的父目录)的子文件路径
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 * @return
	 */
	public static String getRelativePath(File parentFile,File childFile)
	{
		String relativePath="";
		if(parentFile!=null&&childFile!=null)
		{
			String childPath=childFile.getAbsolutePath();
			String parentPath=parentFile.getAbsolutePath();
			relativePath=childPath.substring(parentPath.length());
			//如果文件路径以分隔符开头,则去掉分隔符
			if(relativePath.startsWith(File.separator))
			{
				relativePath=relativePath.substring(1,relativePath.length());
			}
			String replaceChar="";
			if(File.separator.equals("\\"))
			{
				replaceChar="\\\\";
				//将文件分隔符替换为指定的分隔符
				relativePath=relativePath.replaceAll(replaceChar, filePathSepChar);
			}
			
		}
		return relativePath;
	}
	/**
	 * 
	 * 功能:在指定的infoFile添加info
	 * 作者: 
	 * 创建日期:Feb 24, 2011
	 * 修改者: mender
	 * 修改日期: modifydate
	 */
	public static void appendMd5Info(File infoFile,String info)
	{
		if(infoFile!=null&&info!=null&&info.length()>0)
		{
			try {
				//如果指定文件不存在,则先创建文件
				if (!infoFile.exists()) {
					infoFile.createNewFile();
				}
				//创建append输出流
				FileOutputStream fos=new FileOutputStream(infoFile,true);
				fos.write(info.getBytes());
				fos.flush();
				fos.close();
			} catch (Exception e) {
				System.err.println("appendMd5Info 添加信息出现异常:"+e.toString());
			}
		}
	}
}
 
分享到:
评论

相关推荐

    基于JAVA的常用文件操作方法

    在Java中,我们可以使用`java.io.File`类来创建文件。通过`File`类的构造函数,传入文件路径即可创建一个文件对象,然后调用`createNewFile()`方法创建实际的文件。例如: ```java File file = new File("C:/test...

    java 文件操作类

    总结来说,`java.io.File`类是Java中处理文件和目录的核心工具,配合自定义的`FileUtil`类,可以方便地进行各种文件操作,包括创建、删除、读取、写入等。熟练掌握`File`类和`FileUtil`类的使用,将使你在Java开发中...

    JAVA 文件常用流操作.zip

    首先,Java中的文件操作主要通过IO(Input/Output)流来实现。IO流分为两大类:字节流(Byte Stream)和字符流(Character Stream)。字节流处理的数据单位是8位的字节,而字符流处理的是16位的Unicode字符。字节流...

    Java常用文件处理类

    该类主要对常见的一些文件操作进行了封装,如读写文件(UTF-8)、复制文件、删除文件,创建目录等

    利用JAVA操作EXCEL文件

    在Java编程环境中,操作Excel文件是一项常见的任务,尤其在数据处理、报表生成或者数据分析等领域。以下将详细介绍如何利用Java来实现Excel文件的操作。 首先,Java提供了多种库来处理Excel文件,其中最常用的两个...

    java实现文件的读写操作

    在Java中,`java.io`包提供了丰富的类和接口来支持文件操作,如`File`、`FileReader`、`FileWriter`、`BufferedReader`和`BufferedWriter`等。首先,我们需要创建一个`File`对象来代表我们想要操作的文件或目录。...

    一些java常用的工具类

    通常,这样的库会包含一系列针对特定场景的工具类,如日期时间处理、文件操作、字符串格式化、数据校验等。例如,可能会有一个DateTimeUtils类,提供日期和时间的格式化、比较和转换方法;一个FileUtils类,用于文件...

    java常用的工具类整理28个

    6. **java.io.File**:文件操作类,可以创建、删除、重命名文件,获取文件属性等。 7. **java.nio.file.***(Java 7及以上):非阻塞I/O框架,包括`Path`、`Files`、`FileSystem`等,提供了更高效的文件操作。 8. ...

    java基本的文件操作

    在Java中,我们可以使用`java.io.File`类来创建新的目录。具体实现方法如下: ```java public void newFolder(String folderPath) { try { java.io.File myFilePath = new java.io.File(folderPath); if (!...

    自己写的java中文件的操作工具类,包括对目录的管理

    1. **文件操作**:在Java中,`java.io`包提供了丰富的类来执行文件操作,如`File`类用于文件和目录的基本操作,`FileReader`和`FileWriter`用于读写文本文件,`BufferedReader`和`BufferedWriter`用于提高读写效率,...

    hadoop Java接口 文件操作类

    本篇将深入探讨如何利用Hadoop的Java接口进行文件操作,实现对Hadoop服务的增、删、改、查等功能。 首先,我们要了解Hadoop的核心组件:HDFS(Hadoop Distributed File System)和MapReduce。HDFS是Hadoop的数据...

    Java操作Excel表格

    在学习这个主题时,提供的`ExcelData.txt`可能包含Excel文件中的数据示例,`Java操作Excel导入.txt`可能涵盖具体的Java代码片段,而`Action.txt`可能讲解了如何在Action类中处理Excel解析逻辑。通过这些文件,你可以...

    实验5 JAVA常用类.doc

    - **String** 类在Java中是不可变的,这意味着一旦创建了String对象,就不能改变它的值。常用的方法包括 `concat()`、`substring()`、`indexOf()`、`replace()` 等。 - **StringBuffer/StringBuilder** 是可变的...

    java中常用操作

    综上所述,Java中的常用操作涵盖了语言基础、面向对象特性、异常处理、多线程以及各种高级功能,这些都是开发高效、稳定、可维护的Java程序所必须掌握的知识点。不断学习和熟练运用这些概念,能提升你的Java编程技能...

    Java 功能丰富的文件操作类.rar

    与大家分享一个功能丰富的Java文件操作类,类中封装了一些常用的文件操作,大部分涉及文件的修改、内容替换等。类中的方法都是静态方法,不需要生成此类的实例, 为避免生成此类的实例,构造方法被申明为private类型...

    Java常用工具类大全

    通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密解密,如MD5、BASE64,AES、DES等 - 4.文件操作,包括file、image、zip等 - 5.http - 6.jdbc - 7.json - 8.邮件 - 9.二维码、...

    java文件操作大全

    1. **创建文件夹**:在Java中,我们可以使用`java.io.File`类的`mkdir()`或`mkdirs()`方法来创建单级或多级目录。`mkdir()`只创建单级目录,而`mkdirs()`会创建多级目录结构,如果路径中包含父目录并不存在,它会...

    java常用工具类

    "java常用工具类"这个主题涵盖了Java开发中常用的类和方法,这些工具类可以帮助我们简化编程工作,提高代码的可读性和可维护性。在Java中,`java.util`包就是这样一个包含大量工具类的包,提供了很多实用的功能。 1...

    Java常用类总结

    `java.lang.String`是不可变的字符序列,是Java中最常用的数据类型之一。字符串操作如连接、查找、替换等都可以通过String类的方法完成。`StringBuilder`和`StringBuffer`在需要频繁修改字符串内容时更为高效,因为...

Global site tag (gtag.js) - Google Analytics