java 文件处理
- 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());
- }
- }
java 文件处理的更多相关文章
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- 一个Java文件至多包含一个公共类
编写一个java源文件时,该源文件又称为编译单元.一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为[公共类 ...
- Android Studio解决未识别Java文件(出现红J)问题
1.问题:java文件出现了红J的问题,正常情况下应该是显示蓝色的C标识. 2.解决方案:切换到project视图下,找到app这个module里的build.gradle,在android结构里插入 ...
- Eclipse不自动编译java文件的终极解决方案
最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...
- Java基础-一个java文件多个类的问题
一个.java文件当然可以包括多个类.但这些类有一个特殊的类与其它的不同,,这个类是带public 属性的类.一个.java类文件中仅有一个public属性的类.而且这个类与文件名相同.
- 【安卓】安卓res文件夹下的资源文件与R.java文件里面类的对应关系
对于drawable.layout.menu文件夹下的每一个文件都分别会在R.java文件里面生成drawable.layout.menu类的一个常量,类名就是文件夹的名字,常量的名字就是文件名字. ...
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- Intellij Idea 工具在java文件中如何避免 import .*包
Intellij Idea工具在java文件中怎么避免import java.utils.*这样的导入方式,不推崇导入*这样的做法!Editor->Code Style->Java-> ...
- gen目录无法更新,或者gen目录下的R.JAVA文件无法生成
gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自 ...
随机推荐
- JavaSE复习日记 : 循环终止语句(break/break outerFor/continue)
最近没网,但攒了几天的博客,这次逮到机会发博客,直接三篇走起; /* * 循环终止语句: break/ break outerFor/ continue */ /* * break语句 * 1. 用于 ...
- NOIP2012模拟试题【圆圈舞蹈( circle)
2.圆圈舞蹈( circle) [问题描述] 熊大妈的奶牛在时针的带领下,围成了一个圆圈跳舞.由于没有严格的教育,奶牛们之间的间隔不一致. 奶牛想知道两只最远的奶牛到底隔了多远.奶牛A到B的距离为A顺 ...
- 众数问题(为什么只能输入一组数据,不能输入m组数据)
描述 所谓众数,就是对于给定的含有N个元素的多重集合,每个元素在S中出现次数最多的成为该元素的重数, 多重集合S重的重数最大的元素成为众数.例如:S={1,2,2,2,3,5},则多重集S的众数是2, ...
- leetcode Count and Say python
class Solution(object): def countAndSay(self, n): """ :type n: int :rtype: str " ...
- SiKuli 图形脚本语言【转载】
Sikuli 是一种新颖的图形脚本语言,或者说是一种另类的自动化测试技术.它与我们常用的自动化测试技术(工具)有很大的区别. 当你看到上图sikuli的脚本时,一定会惊呼,这样都可以~!脚本加截图~~ ...
- SQL Server 恢复过程
在恢复过程中.只会分析那些自最后一个检查点之后发生的更改,以确定是否需要重做还是撤销. 在最后一个检查点之前完成的操作都会精确的反应到数据文件中,恢复过程不需要做其它的事. 第一阶段: 分析. 这个阶 ...
- J2SE知识点摘记(十四)
1. 字符流 Reader是定义java的流式字符输入模式的抽象类,该类所有方法在出错的情况下都将引发IOException异常. Int read(char buffer[]) ...
- 26个jQuery使用小技巧(25)
下面列出了一些Jquery使用技巧.比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元 ...
- ARM Cortex M3(V7-M架构)硬件启动程序 一
Cortex-m3启动代码分析笔记 启动代码文件名是STM32F10X.S,它的作用先总结下,然后再分析. 启动代码作用一般是: 1)堆和栈的初始化: 2)中断向量表定义: 3)地址重映射及中断向量表 ...
- 「python」: arp脚本的两种方法
「python」: arp脚本的两种方法 第一种是使用arping工具: #!/usr/bin/env python import subprocess import sys import re de ...