java 文件处理类_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java 文件处理类

java 文件处理类

 2013/6/19 11:47:18  jilong-liang  程序员俱乐部  我要评论(0)
  • 摘要:packagejavax.org.path;importjava.math.BigDecimal;/***@Author:jilongliang*@Date:2013-6-18*@Project:JTool*@Class:AccessFile.java*@Description:文件处理类*/publicclassAccessFile{publicstaticfinallongKB=1024;//KBpublicstaticfinallongMB=KB*KB
  • 标签:文件 Java
class="java" name="code">package javax.org.path;
import java.math.BigDecimal;
/**
 * @Author:jilongliang
 * @Date :2013-6-18
 * @Project:JTool
 * @Class:AccessFile.java
 * @Description:文件处理类
 */
public class AccessFile {
	public static final long KB = 1024;//KB
	public static final long MB = KB * KB;//MB
	public static final long GB = KB * MB;//GB
	/**
	 * 处理文件大小
	 */
	public static String fileSize(long file) {
		if (file <= 0) {
			return "";
		} else if (file < MB) {
			BigDecimal b = new BigDecimal((double) file / KB);
			return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() + "K";
		} else if (file < GB) {
			BigDecimal b = new BigDecimal((double) file / MB);
			return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() + "M";
		} else {
			BigDecimal b = new BigDecimal((double) file / GB);
			return b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue() + "G";
		}
	}
	/**获取当前工程路径
	 * @return
	 */
	public static String getSysPath() {
		//String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
		String path = Thread.currentThread().getContextClassLoader().getResource(".").toString();
		String temp = path.replaceFirst("file:/", "").replaceFirst("WEB-INF/classes/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}
	/** 
	 * Thread.currentThread().getContextClassLoader().getResource("")
	 * 的getResource里面空串或者点或者是/输出的路径是一致
	 * "" D:\Eclipse3.7\JTool\build\classes\
	 * .  D:\Eclipse3.7\JTool\build\classes\
	 * -/ D:\Eclipse3.7\JTool\build\classes\
	 * @return
	 */
	public static String getClassPath() {
		//String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
		//String path = Thread.currentThread().getContextClassLoader().getResource(".").toString();
		String path = Thread.currentThread().getContextClassLoader().getResource("/").toString();
		String temp = path.replaceFirst("file:/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}
	/**
	 * getClassLoader().getResource()方法参数空串和点都是输出相同的路径唯有/是报空指针
	 * "" D:\Eclipse3.7\JTool\build\classes\
	 * .  D:\Eclipse3.7\JTool\build\classes\
	 *-/  报空指针
	 * @return
	 */
	private  String getClassesAbsolutePath(){
		// 得到的是 项目的绝对路径
		String path=this.getClass().getClassLoader().getResource("").getPath();
		//String path=this.getClass().getClassLoader().getResource(".").getPath();
		//String path=this.getClass().getClassLoader().getResource("/").getPath();//报空指针
		String temp = path.replaceFirst("/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}
	/**
	 *得到的是当前类 文件的URI目录,不包括自己
	 * ""D:\Eclipse3.7\JTool\build\classes\javax\org\path\
	 * . D:\Eclipse3.7\JTool\build\classes\javax\org\path\
	 - / D:\Eclipse3.7\JTool\build\classes\
	 * @return
	 */
	private String getCurrentClassPath(){
		//String path=this.getClass().getResource("").getPath();
		//String path=this.getClass().getResource(".").getPath();
		String path=this.getClass().getResource("/").getPath();
		String temp = path.replaceFirst("/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}
	public static void main(String[] args) {
		System.out.println(getSysPath());
	}
}

?

发表评论
用户名: 匿名