关闭

Java工具类方法记录

标签: javaidea打包
201人阅读 评论(0) 收藏 举报
分类:

取两位小数

        int a = 2;
        double b = 10000;
        DecimalFormat decimalFormat=new DecimalFormat("######0.00");
        System.out.println(decimalFormat.format(a/b*100)+"%");
        输出:0.02%

判断日期是否在某一段日期内

        String dateStr= "02/11/2017 18:36:57";
        String startDate = "2017-02-11";
        String endDate = "2017-02-13";
                System.out.println(Utils.getFormatDate(dateStr,startDate,endDate));
输出:在
public static boolean getFormatDate(String dateStr, String inputDate) {
        boolean isIncurrentDay = false;
        SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");
        try {
            SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
            String fileDate = format2.format(format.parse(dateStr));
            if (fileDate.equals(inputDate)) {
                System.out.println("在");
                isIncurrentDay = true;
            } else {
                System.out.println("不在");
                isIncurrentDay = false;
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return isIncurrentDay;
    }

    public static boolean getFormatDate(String dateStr, String startDate, String endDate) {
        boolean isInDuration = false;
        try {
            SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy HH:mm:ss");

            SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd");
            Date dateS = format2.parse(format2.format(format.parse(dateStr)));
            Date startS = format2.parse(startDate);
            Date endS = format2.parse(endDate);
            if (!dateS.after(endS) && !dateS.before(startS)) {
                System.out.println("在");
                isInDuration = true;
            } else {
                System.out.println("不在");
                isInDuration = false;
            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return isInDuration;
    }

获取项目配置文件中的变量值

第一种

Properties property = new Properties();
        try {
            property.load(new FileInputStream("你的文件位置"));
        } catch (IOException e) {
            e.printStackTrace();
        }
        String value = property.getProperty("你的属性的key");

第二种,推荐使用

 java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("email");
        String keystore = bundle.getString("mysql.decrystore"); //获取值

java依赖包一起打进去

使用IDE:IntelJ IDEA

<build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.allen.capturewebdata.Main</mainClass>
                        </manifest>
                    </archive>
                    <descriptorRefs>
                        <descriptorRef>jar-with-dependencies</descriptorRef>
                    </descriptorRefs>
                </configuration>
            </plugin>
        </plugins>
    </build>

要将依赖包一起打包的话,需要使用maven-assembly-plugin插件。需要注意的是,使用此插件进行打包时,不再是使用mvn package 命令,而是使用mvn assembly:assembly命令。执行成功后会在target文件夹下多出一个以-jar-with-dependencies结尾的jar包。这个jar包中就包含了当前项目的所有依赖包,可参考这里

txt文件最后一行文件内容覆写并追加

  public static void rewriteendline(String filepath, String string)
            throws Exception {

        RandomAccessFile file = new RandomAccessFile(filepath, "rw");
        long len = file.length();
        long start = file.getFilePointer();
        long nextend = start + len - 1;

        int i = -1;
        file.seek(nextend);
        byte[] buf = new byte[1];

        while (nextend > start) {

            i = file.read(buf, 0, 1);
            if (buf[0] == '\r') {
                file.setLength(nextend - start);
                break;
            }
            nextend--;
            file.seek(nextend);

        }
        file.close();
        writeendline(filepath, string);

    }

    public static void writeendline(String filepath, String string)
            throws Exception {

        RandomAccessFile file = new RandomAccessFile(filepath, "rw");
        long len = file.length();
        long start = file.getFilePointer();
        long nextend = start + len - 1;
        byte[] buf = new byte[1];
        file.seek(nextend);
        file.read(buf, 0, 1);

        if (buf[0] == '\n')

            file.writeBytes(string);
        else

            file.writeBytes("\r\n" + string);

        file.close();

    }

字符串中获取手机号

 /**
     * 只取字符串中11位的数字是否为手机号,如果有多个,逗号隔开
     * @param text
     * @return
     */
    public static String getPhone11(String text){
        Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)");
        Matcher matcher = pattern.matcher(text);
        StringBuffer bf = new StringBuffer(64);
        while (matcher.find()) {
            bf.append(matcher.group()).append(",");
        }
        int len = bf.length();
        if (len > 0) {
            bf.deleteCharAt(len - 1);
        }
        return bf.toString();
    }
    /**
     * 查询符合的手机号码,包括从12位数字中截取手机号
     * @param str
     */
    public static void checkCellphone(String str){
        // 将给定的正则表达式编译到模式中
        Pattern pattern = Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}");
        // 创建匹配给定输入与此模式的匹配器。
        Matcher matcher = pattern.matcher(str);
        //查找字符串中是否有符合的子字符串
        while(matcher.find()){
            //查找到符合的即输出
            System.out.println("查询到一个符合的手机号码:"+matcher.group());
        }
    }

/**同上
**/
    private static String checkNum(String num){
        if(num == null || num.length() == 0){return "";}
        Pattern pattern = Pattern.compile("(?<!\\d)(?:(?:1[358]\\d{9})|(?:861[358]\\d{9}))(?!\\d)");
        Matcher matcher = pattern.matcher(num);
        StringBuffer bf = new StringBuffer(64);
        while (matcher.find()) {
            bf.append(matcher.group()).append(",");
        }
        int len = bf.length();
        if (len > 0) {
            bf.deleteCharAt(len - 1);
        }
        return bf.toString();
    }

    private static boolean isNumLegal(String str) throws PatternSyntaxException {
        String regExp = "^((13[0-9])|(15[^4])|(18[0,2,3,5-9])|(17[0-8])|(147))\\d{8}$";
        Pattern p = Pattern.compile(regExp);
        Matcher m = p.matcher(str);
        return m.matches();
    }
0
0
查看评论

java学习记录笔记

判断方法重载的依据:1.必须是在同一个类中 2.方法名相同 3.方法参数的个数,顺序或类型不同 最重要的是④-_-|| 4.与方法的修饰符或返回值没有关系static 出现的必要性:希望基于一个类创建的所有对象能共享同一个成员, 此时用到了static。java中被static修饰的成员成...
  • Ice_Alone
  • Ice_Alone
  • 2015-08-19 21:06
  • 573

Java之Collections工具类方法使用以及源码分析(三)

返回指定 collection 的一个动态类型安全视图。试图插入一个错误类型的元素将导致立即抛出 ClassCastException。假设在生成动态类型安全视图之前,collection 不包含任何类型不正确的元素,并且所有对该 collectio...
  • Dax1n
  • Dax1n
  • 2017-03-11 21:24
  • 276

Java中类方法与实例方法的区别

Java中类的方法分为类方法(用static修饰,也叫静态方法)和实例方法(没有用static修饰,也叫非静态方法),这两种方法之间有什么区别呢? 一. 实例方法 当类的字节码文件加载到内存中时,类的实例方法并没有被分配入口地址,只有当该类的对象创建以后,实例方法才分配了入口地址。从而实例方法可...
  • mhady
  • mhady
  • 2016-05-11 20:03
  • 10801

【Java】java.util.Objects 工具类方法研究

 Objects 与 Object 区别 Object 是 Java 中所有类的基类,位于java.lang包。 Objects 是 Object 的工具类,位于java.util包。它从jdk1.7开始才出现,被final修饰不能被继承,拥有私有的构造函数。...
  • hj7jay
  • hj7jay
  • 2017-02-13 10:06
  • 2664

Markdown——强大的记录工具

Markdown——忘却形式,只位内容 想来,需要记录下成长的点滴,不管是在技术方面,还是在自性方面,于是苦苦找寻一强大而又简单的记录工具,找来寻去,最后只剩下两个:Docbook和Markdown,貌似Docbook功能更为强大,但也相对繁琐,基于xml的,必然要记录那么多的标签,写起来也很是麻...
  • dreamcoding
  • dreamcoding
  • 2012-07-18 22:44
  • 4270

java中 类方法和实例方法

实例方法也叫做对象方法。 类方法是属于整个类的,而实例方法是属于类的某个对象的。 由于类方法是属于整个类的,并不属于类的哪个对象,所以类方法的方法体中不能有与类的对象有关的内容。即类方法体有如下限制: (1) 类方法中不能引用对象变量; (2) 类方法中不能调用类的对象方法;
  • cynhafa
  • cynhafa
  • 2011-10-17 12:47
  • 4845

spring工具类HtmlUtils

给大家介绍一个工具类htmlutils,这是spring
  • llhhyy1989
  • llhhyy1989
  • 2014-05-31 07:45
  • 4019

Java源码-简单的剪切板程序

看到有点实用性的代码,忍不住就想分享出来,因为在学习的过程中,我也是复用了大量的别人的代码一步一步往前走的。 同时,我也发现,一些像五子棋游戏等成套解决方案(project),很难找到免费的代码分享,毕竟,程序员也是要吃饭的,可以理解。 有一天,当你发现我的代码不再免费发布的时候,或许就是我在编...
  • hpdlzu80100
  • hpdlzu80100
  • 2016-07-24 22:31
  • 600

实用的java注解工具类

注解,相信大家都会知道,像@requestMapping,@Resource,@Controller等等的一些注解,大家都用过,那么,他的工具类你用过吗?下面就和大家一起来分享一下我编写的注解工具类。 首 Java 注解 定义:注解(Annotation),也叫...
  • shao_zhiqiang
  • shao_zhiqiang
  • 2016-06-26 20:35
  • 1113

JAVA - - - - 内部类的方法(外部调用内部类的方法)

1.使用static可以声明一个内部类, 可以直接在外部调用 [java] view plain copy class Outer{       &...
  • Reserved_person
  • Reserved_person
  • 2016-09-07 16:18
  • 506
    个人资料
    • 访问:176877次
    • 积分:2795
    • 等级:
    • 排名:第15138名
    • 原创:58篇
    • 转载:5篇
    • 译文:0篇
    • 评论:52条
    联系我吧
    我的App
    博客专栏
    文章分类