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

收藏 java常用方法

 
阅读更多

 

这个很有用,收藏了,感谢作者

 

获取访问者ip

             /**
             * 获取访问者ip
             */
             public static String getUserIp(HttpServletRequest request) {
                        String ip = request.getHeader( "x-forwarded-for");
                         if ((ip == null) || (ip.length() == 0)
                                                || "unknown".equalsIgnoreCase(ip)) {
                                    ip = request.getHeader( "Proxy-Client-IP");
                        }
                         if ((ip == null) || (ip.length() == 0)
                                                || "unknown".equalsIgnoreCase(ip)) {
                                    ip = request.getHeader( "WL-Proxy-Client-IP");
                        }
                         if ((ip == null) || (ip.length() == 0)
                                                || "unknown".equalsIgnoreCase(ip)) {
                                    ip = request.getRemoteAddr();
                        }
                         return ip;
            }

获取用户浏览器类型

             /**
             * 获取用户浏览器类型
             */
             public static String getUserBrowerType(HttpServletRequest request) {
                         // String userAgent = request.getHeader("USER-AGENT").toLowerCase();
                         // return userAgent.split(";")[1];
                         return request.getHeader( "USER-AGENT");
            }


获取时间差

             /**
             * 获取相差n月的月份的第一天或最后一天,格式:yyyyMMdd
             *
             * @param diff
             *            月份差值
             * @param type
             *            ('first':该月第一天,"last":该月最后一天)
             * @return yyyyMMdd
             */
             public static String getDayByDiff( int diff, String type) {
                        Calendar c = Calendar. getInstance();
                        c.add(Calendar. MONTH, diff);
                        Calendar calendar = new GregorianCalendar(c.get(Calendar. YEAR), c
                                                .get(Calendar. MONTH), c.get(Calendar.DAY_OF_MONTH ));
                        String day = "";
                         if ( "first".equals(type)) {
                                    day = "0"
                                                            + String.valueOf(calendar
                                                                                    .getActualMinimum(Calendar. DAY_OF_MONTH));
                        } else {
                                    day = String. valueOf(calendar
                                                            .getActualMaximum(Calendar. DAY_OF_MONTH));
                        }
                         return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime()) + "-"
                                                + day;
            }


             /**
             * 获取 -n或+n个年的年份yyyy
             *
             * @param diff
             * @return
             */
             public static String getYearByDiff( int diff) {
                        Calendar c = Calendar. getInstance();
                        c.add(Calendar. YEAR, diff);
                         return new SimpleDateFormat( "yyyy").format(c.getTime());
            }

             /**
             * 获取 -n或+n个月的日期,格式:yyyy -MM
             *
             * @param diff
             *            月份差值
             * @return yyyy- MM
             */
             public static String getMonthByDiff( int diff) {
                        Calendar calendar = Calendar. getInstance();
                        calendar.add(Calendar. MONTH, diff);
                         return new SimpleDateFormat( "yyyy-MM").format(calendar.getTime());
            }

获取前两个月的时间

             /**
             * 获取前两个月的时间
             *
             * @param upMonthTime
             *            (格式:2011 -09)
             * @return
             */
             public static String getUpThreeTime(String upMonthTime) {
                         int queryYear = Integer. parseInt(upMonthTime.substring(0, 4));
                         int queryMonth = Integer. parseInt(upMonthTime.substring(5, 7));

                        String upQueryDateString = null;
                         if ( "01".equals(upMonthTime.substring(5, 7))) {
                                    queryYear = queryYear - 1;
                                    queryMonth = 11;
                                    upQueryDateString = Integer. toString(queryYear) + "-"
                                                            + Integer.toString(queryMonth);
                        } else if ( "02".equals(upMonthTime.subSequence(5, 7))) {
                                    queryYear = queryYear - 1;
                                    queryMonth = 12;
                                    upQueryDateString = Integer. toString(queryYear) + "-"
                                                            + Integer.toString(queryMonth);
                        } else if (queryMonth > 2 && queryMonth < 12) {
                                    queryMonth = queryMonth - 2;
                                    upQueryDateString = Integer. toString(queryYear) + "-0"
                                                            + Integer.toString(queryMonth);
                        } else {
                                    queryMonth = queryMonth - 2;
                                    upQueryDateString = Integer. toString(queryYear) + "-"
                                                            + Integer.toString(queryMonth);
                        }
                         return upQueryDateString;
            }


截取、合并数组

             /**
             * 截取子数组
             *
             * @param array
             * @param startIndexInclusive
             * @param endIndexExclusive
             * @return
             */
             public static byte[] subarray( byte[] array, int startIndexInclusive,
                                     int endIndexExclusive) {
                         if (array == null) {
                                     return null;
                        }
                         if (startIndexInclusive < 0) {
                                    startIndexInclusive = 0;
                        }
                         if (endIndexExclusive > array. length) {
                                    endIndexExclusive = array. length;
                        }
                         int newSize = endIndexExclusive - startIndexInclusive;
                         if (newSize <= 0) {
                                     return new byte[0];
                        }

                         byte[] subarray = new byte[newSize];
                        System. arraycopy(array, startIndexInclusive, subarray, 0, newSize);
                         return subarray;
            }

             /**
             * 合并byte数组
             *
             * @param array1
             * @param array2
             * @return
             */
             public static byte[] addAll( byte[] array1, byte... array2) {
                         if (array1 == null) {
                                     return null;
                        } else if (array2 == null) {
                                     return null;
                        }
                         byte[] joinedArray = new byte[array1. length + array2. length];
                        System. arraycopy(array1, 0, joinedArray, 0, array1. length);
                        System. arraycopy(array2, 0, joinedArray, array1.length, array2.length);
                         return joinedArray;
            }



时间格式

             /**
             * 根据指定的日期格式生成日期时间串
             *
             * @param format
             *            日期格式,如yyyyMMdd
             * @return dateTimeString
             */
             public static String formatDatetime(Date date, String format) {
                        DateFormat df = new SimpleDateFormat(format);
                         return df.format(date);
            }

             /**
             * 将给定的日期格式化为"yyyy -MM -dd HH:mm:ss"
             *
             * @param date
             *            日期
             * @return 格式为"yyyy- MM- dd HH:mm:ss"的String类型的时间串
             */
             public static String formatDatetime(Date date) {
                         return formatDatetime(date, "yyyy-MM-dd HH:mm:ss");
            }

             /**
             * 根据指定的格式返回当前日期时间
             *
             * @param format
             *            指定的日期格式
             * @return String类型的时间
             */
             public static String formatDatetime(String format) {
                         return formatDatetime(new Date(), format);
            }

             /**
             * 返回当前标准的日期时间
             *
             * @return 格式为"yyyy- MM- dd HH:mm:ss"的当前时间
             */
             public static String formatDatetime() {
                         return formatDatetime(new Date(), "yyyy-MM-dd HH:mm:ss");
            }

转码

             /**
             * 编码转换ISO8859 -1 -> UTF -8
             *
             * @param source
             * @return
             * @throws UnsupportedEncodingException
             */
             public static String isoToUtf8(String source)
                                     throws UnsupportedEncodingException {
                         return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
                                                 "utf-8");
            }

             /**
             * 编码转换GB2312 -> ISO8859 -1
             *
             * @param source
             * @return
             * @throws UnsupportedEncodingException
             */
             public static String gb2312ToISO(String source)
                                     throws UnsupportedEncodingException {
                         return null == source ? "" : new String(source.getBytes( "gb2312"),
                                                 "ISO8859-1");
            }

             /**
             * 编码转换ISO8859 -1 -> GB2312
             *
             * @param source
             * @return
             * @throws UnsupportedEncodingException
             */
             public static String isoToGb2312(String source)
                                     throws UnsupportedEncodingException {
                         return null == source ? "" : new String(source.getBytes( "ISO8859-1"),
                                                 "gb2312");
            }

分享到:
评论

相关推荐

    java常用代码的集合

    在Java中,我们可以编写一个方法来验证一个字符串是否符合ISBN的标准格式。通常,ISBN13由13个数字组成,分为四部分,每部分之间用破折号分隔。下面是一个简单的验证函数: ```java public boolean isValidISBN...

    精心整理的java常用的26个工具类-独家收藏

    精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 下载精心整理的java常用的26个工具类 下载精心整理的java常用的26个...

    java一些常用代码的分享

    java一些常用代码的分享,收藏别人的.方便以后使用

    精品专题(2021-2022年收藏)JAVA处理日期时间常用方法.doc

    在Java中,获取特定日期的某些部分,如年、月、日、小时、分钟和秒,可以使用`Calendar`类的`get()`方法。例如,要获取年份,可以写成`calendar.get(Calendar.YEAR)`。需要注意的是,月份返回的值是从0开始的,所以...

    Java中的Ajax编程常用类库打包

    这是一些在Java环境下使用Ajax编程的常用类库组件包,里面主要涉及dom4j、jaxen、commons-httpclient、mysql-connector等JAR包文件。这些都是比较常用的JAVA类库,应该下载收藏。

    JAVA常用API文档中文完整版PDF最新版本

    API就是一个帮助文档,...JAVA常用API文档包含各种集合、工具类等用法解析,非常适合想对javaAPI有详细了解的人,主要包含String、StringBuilder、Math、System、Object、Objects、BigDecimal等,感兴趣的可以收藏学习

    Java基础常用面试题

    2. **String类中的常用方法** - `split()`: 分割字符串成数组。 - `indexOf()`: 查找字符或子字符串的位置。 - `replace()`: 替换指定字符或子字符串。 - `substring()`: 截取字符串的一部分。 - `equals()`: ...

    JAVA常用API文档 中文完整版PDF

    API就是一个帮助文档,...JAVA常用API文档包含各种集合、工具类等用法解析,非常适合想对javaAPI有详细了解的人,主要包含String、StringBuilder、Math、System、Object、Objects、BigDecimal等,感兴趣的可以收藏学习

    IBMjava培训内部资料——Java常用类讲解.pptx

    IBMjava培训内部资料——Java常用类讲解.pptx

    Java实战入门[一个资深Java培训老师倾力收藏].pdf

    第六章“常用关键字”详细介绍了Java中的各种关键字,包括静态成员(static)、继承关系(super)、包(package)、常量(final)等,这些都是Java编程中不可或缺的基础知识。 第七章“数组与基本数据结构”通过数组管理...

    java 面试题收藏

    ### Java面试题收藏:在用户最慢的网络环境下如何提高登录响应速度 #### 背景与挑战 在开发Web应用程序时,确保良好的用户体验至关重要。然而,在某些情况下,用户可能会处于非常缓慢的网络环境中,这可能导致应用...

    基于用Java实现的一个英语学习APP.rar

    基于用Java实现的一个英语学习APP.rar 功能点 背单词 这个功能点有点难搞,词库应该是没有什么办法了,现在手头上的数据就只有人人词典上的那些单词,而且存储方式也是一个问题,所有数据都是以 JSON 方式存储的,...

    java开发学习工具,必须收藏

    本文将重点介绍“EditPlus”这款编辑器,它在Java开发中扮演了重要的角色。 EditPlus是一款功能强大的文本编辑器,尤其适合程序员进行代码编写。它支持多种编程语言,包括Java,C++, HTML, CSS, JavaScript等。以下...

    收藏20200425-223758_java_

    3. **Java框架**:Spring、MyBatis、Hibernate等常用Java框架的介绍和使用示例,这些框架常用于企业级应用开发。 4. **Java Web**:包括Servlet、JSP、MVC模式、过滤器和监听器等Web开发技术,以及相关的服务器配置...

    实战Java虚拟机——JVM故障诊断与性能优化

    带标签的,java虚拟机中比较好的一本书,值得阅读与收藏 随着越来越多的第三方语言(Groovy、Scala、JRuby等)在Java虚拟机上运行,Java也俨然成为了一个充满活力的生态圈。《实战Java虚拟机——JVM故障诊断与性能...

    2021-2022年收藏的精品资料JAVA年度工作总结.doc

    在这一部分学习中,我重点学习了数组、链表、栈、队列、树、图等常用数据结构,以及排序和搜索等基本算法。这些知识对于实现高效且稳定的JAVA程序至关重要。 项目的实际应用是检验学习成果的重要手段。通过参与至少...

    java经典宝典收藏总结.zip

    5. **SSM项目**:SSM是Spring、SpringMVC和MyBatis的组合,是Java Web开发中常用的技术栈。通过SSM项目,学习者可以了解如何在实际项目中整合这些框架,实现业务逻辑和数据访问。 6. **SpringBoot项目**:...

    java数据结构(Java版)(第3版)[叶核亚] 全套资料

    Java中常用的链表有单链表和双链表,它们在插入和删除操作上比数组更灵活。 四、栈 栈是一种后进先出(LIFO)的数据结构,常用于函数调用、表达式求值等场景。Java中可以使用ArrayDeque或LinkedList实现栈。 五、...

    一些JAVA试题(收藏)

    【标题】:“一些JAVA试题(收藏)”所涵盖的知识点主要集中在Java编程语言的基础与进阶部分,适合准备应聘Java相关职位的求职者进行自我学习和测试。 【描述】:“博文链接:...

    音乐收藏例子 MusicCollection

    《音乐收藏例子 MusicCollection》是针对Java开发人员,特别是对...通过深入研究这个项目,不仅可以学习到J2EE的架构和组件,还能掌握JavaScript与AJAX在实际应用中的协同工作,以及现代Web开发的常用技术和最佳实践。

Global site tag (gtag.js) - Google Analytics