精华内容
下载资源
问答
  • java常用utils工具类

    2015-02-09 11:04:56
    不多介绍:点击打开链接
    不多介绍:点击打开链接
    
    展开全文
  • Android 常用Utils工具类

    千次阅读 2019-01-28 15:51:19
    ScreenUtils.java /屏幕相关工具类 package com.common.utils; import android.app.Activity; import android.app.KeyguardManager; import android.content.Context; import android.content.pm.ActivityInfo; ...
    1. ScreenUtils.java /屏幕相关工具类

      package com.common.utils;

      import android.app.Activity;
      import android.app.KeyguardManager;
      import android.content.Context;
      import android.content.pm.ActivityInfo;
      import android.graphics.Bitmap;
      import android.graphics.Color;
      import android.os.Build;
      import android.util.DisplayMetrics;
      import android.util.TypedValue;
      import android.view.View;
      import android.view.Window;
      import android.view.WindowManager;
      import android.view.WindowManager.LayoutParams;

      import java.lang.reflect.Method;

      /**

      • @desc: 屏幕相关工具类
        */
        public class ScreenUtils {

        private ScreenUtils() {
        throw new UnsupportedOperationException(“error…”);
        }

        /**

        • 获取屏幕的宽度px
        • @param context 上下文
        • @return 屏幕宽px
          */
          public static int getScreenWidth(Context context) {
          WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
          DisplayMetrics outMetrics = new DisplayMetrics();// 创建了一张白纸
          windowManager.getDefaultDisplay().getMetrics(outMetrics);// 给白纸设置宽高
          return outMetrics.widthPixels;
          }

        /**

        • 获取屏幕的高度px
        • @param context 上下文
        • @return 屏幕高px
          */
          public static int getScreenHeight(Context context) {
          WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
          DisplayMetrics outMetrics = new DisplayMetrics();// 创建了一张白纸
          windowManager.getDefaultDisplay().getMetrics(outMetrics);// 给白纸设置宽高
          return outMetrics.heightPixels;
          }

        /**

        • 获取屏幕的px
        • @param activity 上下文
        • @return 屏幕高px
          */
          public static DisplayMetrics getScreenPix(Activity activity) {
          DisplayMetrics displaysMetrics = new DisplayMetrics();
          activity.getWindowManager().getDefaultDisplay().getMetrics(displaysMetrics);
          return displaysMetrics;
          }

        /**

        • 设置透明状态栏(api大于19方可使用)
        • 可在Activity的onCreat()中调用

        • 需在顶部控件布局中加入以下属性让内容出现在状态栏之下

        • android:clipToPadding="true"

        • android:fitsSystemWindows="true"

        • @param activity activity
          */
          public static void setTransparentStatusBar(Activity activity) {
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
          //透明状态栏
          activity.getWindow().addFlags(LayoutParams.FLAG_TRANSLUCENT_STATUS);
          //透明导航栏
          activity.getWindow().addFlags(LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
          }
          }

        /**

        • 隐藏状态栏
        • 也就是设置全屏,一定要在setContentView之前调用,否则报错

        • 此方法Activity可以继承AppCompatActivity

        • 启动的时候状态栏会显示一下再隐藏,比如QQ的欢迎界面

        • 在配置文件中Activity加属性android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

        • 如加了以上配置Activity不能继承AppCompatActivity,会报错

        • @param activity activity
          */
          public static void hideStatusBar(Activity activity) {
          activity.requestWindowFeature(Window.FEATURE_NO_TITLE);
          activity.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN,
          LayoutParams.FLAG_FULLSCREEN);
          }

        /**

        • 获取状态栏高度
        • @param context 上下文
        • @return 状态栏高度
          */
          public static int getStatusBarHeight(Context context) {
          int result = 0;
          int resourceId = context.getResources()
          .getIdentifier(“status_bar_height”, “dimen”, “android”);
          if (resourceId > 0) {
          result = context.getResources().getDimensionPixelSize(resourceId);
          }
          return result;
          }

        /**

        • 判断状态栏是否存在
        • @param activity activity
        • @return {@code true}: 存在
          {@code false}: 不存在
          */
          public static boolean isStatusBarExists(Activity activity) {
          LayoutParams params = activity.getWindow().getAttributes();
          return (params.flags & LayoutParams.FLAG_FULLSCREEN) != LayoutParams.FLAG_FULLSCREEN;
          }

        /**

        • 获取ActionBar高度
        • @param activity activity
        • @return ActionBar高度
          */
          public static int getActionBarHeight(Activity activity) {
          TypedValue tv = new TypedValue();
          if (activity.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
          return TypedValue.complexToDimensionPixelSize(tv.data, activity.getResources().getDisplayMetrics());
          }
          return 0;
          }

        /**

        • 显示通知栏
        • 需添加权限 {@code }

        • @param context 上下文
        • @param isSettingPanel {@code true}: 打开设置
          {@code false}: 打开通知
          */
          public static void showNotificationBar(Context context, boolean isSettingPanel) {
          String methodName = (Build.VERSION.SDK_INT <= 16) ? “expand”
          : (isSettingPanel ? “expandSettingsPanel” : “expandNotificationsPanel”);
          invokePanels(context, methodName);
          }

        /**

        • 隐藏通知栏
        • 需添加权限 {@code }

        • @param context 上下文
          */
          public static void hideNotificationBar(Context context) {
          String methodName = (Build.VERSION.SDK_INT <= 16) ? “collapse” : “collapsePanels”;
          invokePanels(context, methodName);
          }

        /**

        • 反射唤醒通知栏
        • @param context 上下文
        • @param methodName 方法名
          */
          private static void invokePanels(Context context, String methodName) {
          try {
          Object service = context.getSystemService(“statusbar”);
          Class<?> statusBarManager = Class.forName(“android.app.StatusBarManager”);
          Method expand = statusBarManager.getMethod(methodName);
          expand.invoke(service);
          } catch (Exception e) {
          e.printStackTrace();
          }
          }

        /**

        • 展开状态栏
        • @param ctx 上下文
          */
          public static void collapseStatusBar(Context ctx) {
          Object sbservice = ctx.getSystemService(“statusbar”);
          try {
          Class<?> statusBarManager = Class.forName(“android.app.StatusBarManager”);
          Method collapse;
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
          collapse = statusBarManager.getMethod(“collapsePanels”);
          } else {
          collapse = statusBarManager.getMethod(“collapse”);
          }
          collapse.invoke(sbservice);
          } catch (Exception e) {
          e.printStackTrace();
          }
          }

        /**

        • 收起状态栏
        • @param ctx 上下文
          */
          public static final void expandStatusBar(Context ctx) {
          Object sbservice = ctx.getSystemService(“statusbar”);
          try {
          Class<?> statusBarManager = Class.forName(“android.app.StatusBarManager”);
          Method expand;
          if (Build.VERSION.SDK_INT >= 17) {
          expand = statusBarManager.getMethod(“expandNotificationsPanel”);
          } else {
          expand = statusBarManager.getMethod(“expand”);
          }
          expand.invoke(sbservice);
          } catch (Exception e) {
          e.printStackTrace();
          }
          }

        /**

        • 设置屏幕为横屏
        • 还有一种就是在Activity中加属性android:screenOrientation="landscape"

        • 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次

        • 设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次

        • 设置Activity的android:configChanges="orientation|keyboardHidden|screenSize"(4.0以上必须带最后一个参数)时

        • 切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
        • @param activity activity
          */
          public static void setLandscape(Activity activity) {
          activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
          }

        /**

        • 获取当前屏幕截图,包含状态栏
        • @param activity activity
        • @return Bitmap
          */
          public static Bitmap captureWithStatusBar(Activity activity) {
          View view = activity.getWindow().getDecorView();
          view.setDrawingCacheEnabled(true);
          view.buildDrawingCache();
          Bitmap bmp = view.getDrawingCache();
          int width = getScreenWidth(activity);
          int height = getScreenHeight(activity);
          Bitmap bp = Bitmap.createBitmap(bmp, 0, 0, width, height);
          view.destroyDrawingCache();
          return bp;
          }

        /**

        • 获取当前屏幕截图,不包含状态栏
        • 需要用到上面获取状态栏高度getStatusBarHeight的方法

        • @param activity activity
        • @return Bitmap
          */
          public static Bitmap captureWithoutStatusBar(Activity activity) {
          View view = activity.getWindow().getDecorView();
          view.setDrawingCacheEnabled(true);
          view.buildDrawingCache();
          Bitmap bmp = view.getDrawingCache();
          int statusBarHeight = getStatusBarHeight(activity);
          int width = getScreenWidth(activity);
          int height = getScreenHeight(activity);
          Bitmap bp = Bitmap.createBitmap(bmp, 0, statusBarHeight, width, height - statusBarHeight);
          view.destroyDrawingCache();
          return bp;
          }

        /**

        • 判断是否锁屏
        • @param context 上下文
        • @return {@code true}: 是
          {@code false}: 否
          */
          public static boolean isScreenLock(Context context) {
          KeyguardManager km = (KeyguardManager) context
          .getSystemService(Context.KEYGUARD_SERVICE);
          return km.inKeyguardRestrictedInputMode();
          }

        /**

        • 状态栏透明
        • @param activity activity
          */
          public static void translateStatusBar(Activity activity)
          {
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
          View decorview = activity.getWindow().getDecorView();
          int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
          decorview.setSystemUiVisibility(option);
          activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
          } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
          LayoutParams localLayoutParams = activity.getWindow().getAttributes();
          localLayoutParams.flags = LayoutParams.FLAG_TRANSLUCENT_STATUS | localLayoutParams.flags;
          }
          }

        /**

        • 获取状态栏高度

        • @param context 上下文

        • @return 状态栏高度
          /
          public static int getStatuBarHeight(Context context) {
          /
          *

          • 获取状态栏高度——方法
            */
            int statusBarHeight = -1;
            //获取status_bar_height资源的ID
            int resourceId = context.getResources().getIdentifier(“status_bar_height”, “dimen”, “android”);
            if (resourceId > 0) {
            //根据资源ID获取响应的尺寸值
            statusBarHeight = context.getResources().getDimensionPixelSize(resourceId);
            }

          return statusBarHeight;
          }
          }

    2. NetworkUtils.java 网络相关工具

      package com.common.utils;

      import android.content.Context;
      import android.content.Intent;
      import android.net.ConnectivityManager;
      import android.net.NetworkInfo;
      import android.telephony.TelephonyManager;

      /**
      *

      • 1,显示连接已保存,但标题栏没有,即没有实质连接上, 输出为:not connect, available

      • 2,显示连接已保存,标题栏也有已连接上的图标, 输出为:connect, available

      • 3,选择不保存后 输出为:not connect, available

      • 4,选择连接,在正在获取IP地址时 输出为:not connect, not available

      • 5,连接上后 输出为:connect, available

      • @desc: 网络相关工具
        */
        public class NetworkUtils {

        private NetworkUtils() {
        throw new UnsupportedOperationException(“error…”);
        }

        public static final int NETWORK_WIFI = 1; // wifi network
        public static final int NETWORK_4G = 4; // “4G” networks
        public static final int NETWORK_3G = 3; // “3G” networks
        public static final int NETWORK_2G = 2; // “2G” networks
        public static final int NETWORK_UNKNOWN = 5; // unknown network
        public static final int NETWORK_NO = -1; // no network

        private static final int NETWORK_TYPE_GSM = 16;
        private static final int NETWORK_TYPE_TD_SCDMA = 17;
        private static final int NETWORK_TYPE_IWLAN = 18;

        /**

        • 打开网络设置界面
        • 3.0以下打开设置界面

        • @param context 上下文
          */
          public static void openWirelessSettings(Context context) {
          if (android.os.Build.VERSION.SDK_INT > 10) {
          context.startActivity(new Intent(android.provider.Settings.ACTION_SETTINGS));
          } else {
          context.startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
          }
          }

        /**

        • 判断网络是否可用(网络有效的唯一判断)
        • 需添加权限 {@code }

        • @param context 上下文
        • @return {@code true}: 可用
          {@code false}: 不可用
          */
          public static boolean isWorked(Context context) {
          return isAvailable(context) && isConnected(context);
          }

        /**

        • 获取活动网络信息
        • @param context 上下文
        • @return NetworkInfo
          */
          private static NetworkInfo getActiveNetworkInfo(Context context) {
          ConnectivityManager cm = (ConnectivityManager) context
          .getSystemService(Context.CONNECTIVITY_SERVICE);
          return cm.getActiveNetworkInfo();
          }

        /**

        • 判断网络是否可用
        • 需添加权限 {@code }

        • @param context 上下文
        • @return {@code true}: 可用
          {@code false}: 不可用
          */
          public static boolean isAvailable(Context context) {
          NetworkInfo info = getActiveNetworkInfo(context);
          return info != null && info.isAvailable();
          }

        /**

        • 判断网络是否连接
        • 需添加权限 {@code }

        • @param context 上下文
        • @return {@code true}: 是
          {@code false}: 否
          */
          public static boolean isConnected(Context context) {
          NetworkInfo info = getActiveNetworkInfo(context);
          return info != null && info.isConnected();
          }

        /**

        • 判断网络是否是4G
        • 需添加权限 {@code }

        • @param context 上下文
        • @return {@code true}: 是
          {@code false}: 不是
          */
          public static boolean is4G(Context context) {
          NetworkInfo info = getActiveNetworkInfo(context);
          return info != null && info.isAvailable() && info.getSubtype() == TelephonyManager.NETWORK_TYPE_LTE;
          }

        /**

        • 判断wifi是否连接状态
        • 需添加权限 {@code }

        • @param context 上下文
        • @return {@code true}: 连接
          {@code false}: 未连接
          */
          public static boolean isWifiConnected(Context context) {
          ConnectivityManager cm = (ConnectivityManager) context
          .getSystemService(Context.CONNECTIVITY_SERVICE);
          return cm != null && cm.getActiveNetworkInfo() != null
          && cm.getActiveNetworkInfo().getType() == ConnectivityManager.TYPE_WIFI;
          }

        /**

        • 获取移动网络运营商名称
        • 如中国联通、中国移动、中国电信

        • @param context 上下文
        • @return 移动网络运营商名称
          */
          public static String getNetworkOperatorName(Context context) {
          TelephonyManager tm = (TelephonyManager) context
          .getSystemService(Context.TELEPHONY_SERVICE);
          return tm != null ? tm.getNetworkOperatorName() : null;
          }

        /**

        • 获取移动终端类型
        • @param context 上下文
        • @return 手机制式
        • {@link TelephonyManager#PHONE_TYPE_NONE } : 0 手机制式未知
      • {@link TelephonyManager#PHONE_TYPE_GSM } : 1 手机制式为GSM,移动和联通
    3. {@link TelephonyManager#PHONE_TYPE_CDMA } : 2 手机制式为CDMA,电信
    4. {@link TelephonyManager#PHONE_TYPE_SIP } : 3
    5. */
      public static int getPhoneType(Context context) {
      TelephonyManager tm = (TelephonyManager) context
      .getSystemService(Context.TELEPHONY_SERVICE);
      return tm != null ? tm.getPhoneType() : -1;
      }

      /**

      • 获取当前的网络类型(WIFI,2G,3G,4G)
      • 需添加权限 {@code }

      • @param context 上下文
      • @return 网络类型
      • {@link #NETWORK_WIFI } = 1;
      • {@link #NETWORK_4G } = 4;
      • {@link #NETWORK_3G } = 3;
      • {@link #NETWORK_2G } = 2;
      • {@link #NETWORK_UNKNOWN} = 5;
      • {@link #NETWORK_NO } = -1;

      */
      public static int getNetWorkType(Context context) {
      int netType = NETWORK_NO;
      NetworkInfo info = getActiveNetworkInfo(context);
      if (info != null && info.isAvailable()) {

           if (info.getType() == ConnectivityManager.TYPE_WIFI) {
               netType = NETWORK_WIFI;
           } else if (info.getType() == ConnectivityManager.TYPE_MOBILE) {
               switch (info.getSubtype()) {
      
                   case NETWORK_TYPE_GSM:
                   case TelephonyManager.NETWORK_TYPE_GPRS:
                   case TelephonyManager.NETWORK_TYPE_CDMA:
                   case TelephonyManager.NETWORK_TYPE_EDGE:
                   case TelephonyManager.NETWORK_TYPE_1xRTT:
                   case TelephonyManager.NETWORK_TYPE_IDEN:
                       netType = NETWORK_2G;
                       break;
      
                   case NETWORK_TYPE_TD_SCDMA:
                   case TelephonyManager.NETWORK_TYPE_EVDO_A:
                   case TelephonyManager.NETWORK_TYPE_UMTS:
                   case TelephonyManager.NETWORK_TYPE_EVDO_0:
                   case TelephonyManager.NETWORK_TYPE_HSDPA:
                   case TelephonyManager.NETWORK_TYPE_HSUPA:
                   case TelephonyManager.NETWORK_TYPE_HSPA:
                   case TelephonyManager.NETWORK_TYPE_EVDO_B:
                   case TelephonyManager.NETWORK_TYPE_EHRPD:
                   case TelephonyManager.NETWORK_TYPE_HSPAP:
                       netType = NETWORK_3G;
                       break;
      
                   case NETWORK_TYPE_IWLAN:
                   case TelephonyManager.NETWORK_TYPE_LTE:
                       netType = NETWORK_4G;
                       break;
                   default:
      
                       String subtypeName = info.getSubtypeName();
                       if (subtypeName.equalsIgnoreCase("TD-SCDMA")
                               || subtypeName.equalsIgnoreCase("WCDMA")
                               || subtypeName.equalsIgnoreCase("CDMA2000")) {
                           netType = NETWORK_3G;
                       } else {
                           netType = NETWORK_UNKNOWN;
                       }
                       break;
               }
           } else {
               netType = NETWORK_UNKNOWN;
           }
       }
       return netType;
      

      }

      /**

      • 获取当前的网络类型(WIFI,2G,3G,4G)
      • 依赖上面的方法

      • @param context 上下文
      • @return 网络类型名称
      • NETWORK_WIFI
      • NETWORK_4G
      • NETWORK_3G
      • NETWORK_2G
      • NETWORK_UNKNOWN
      • NETWORK_NO

      */
      public static String getNetWorkTypeName(Context context) {
      switch (getNetWorkType(context)) {
      case NETWORK_WIFI:
      return “NETWORK_WIFI”;
      case NETWORK_4G:
      return “NETWORK_4G”;
      case NETWORK_3G:
      return “NETWORK_3G”;
      case NETWORK_2G:
      return “NETWORK_2G”;
      case NETWORK_NO:
      return “NETWORK_NO”;
      default:
      return “NETWORK_UNKNOWN”;
      }
      }

    展开全文
  • 主要介绍总结的Android开发中常用工具类,大部分同样适用于Java。 目前包括(HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、...

    Android常用工具类


    主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java


    目前包括(HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUtils、ArrayUtils、ImageUtils、ListUtils、MapUtils、ObjectUtils、SerializeUtils、SystemUtils、TimeUtils)。

     

    所有代码都在 TrineaAndroidCommon@Github 中,除这些工具类外此项目还包括 缓存、下拉ListView 等。

    详细接口介绍可见TrineaAndroidCommon API Guide


    具体使用:可直接引入 TrineaAndroidCommon 作为你项目的 library ,或是自己抽取其中的部分使用。

     

    1、HttpUtils
    Http网络工具类,主要包括httpGet、httpPost以及http参数相关方法,以httpGet为例:
    static HttpResponse httpGet(HttpRequest request)
    static HttpResponse httpGet(java.lang.String httpUrl)
    static String httpGetString(String httpUrl)
    包含以上三个方法,默认使用gzip压缩,使用bufferedReader提高读取速度。
    HttpRequest中可以设置url、timeout、userAgent等其他http参数
    HttpResponse中可以获取返回内容、http响应码、http过期时间(Cache-Control的max-age和expires)等
    前两个方法可以进行高级参数设置及丰富内容返回,第三个方法可以简单的传入url获取返回内容,httpPost类似。更详细的设置可以直接使用HttpURLConnection或apache的HttpClient。
    源码可见HttpUtils.java,更多方法及更详细参数介绍可见HttpUtils Api Guide

     

    2、DownloadManagerPro
    Android系统下载管理DownloadManager增强方法,可用于包括获取下载相关信息,如:
    getStatusById(long) 得到下载状态
    getDownloadBytes(long) 得到下载进度信息
    getBytesAndStatus(long) 得到下载进度信息和状态
    getFileName(long) 得到下载文件路径
    getUri(long) 得到下载uri
    getReason(long) 得到下载失败或暂停原因
    getPausedReason(long) 得到下载暂停原因
    getErrorCode(long) 得到下载错误码
    源码可见DownloadManagerPro.java,更多方法及更详细参数介绍可见DownloadManagerPro Api Guide

    关于Android DownManager使用可见DownManager Demo

     

    3、ShellUtils
    Android Shell工具类,可用于检查系统root权限,并在shell或root用户下执行shell命令。如:
    checkRootPermission() 检查root权限
    execCommand(String[] commands, boolean isRoot, boolean isNeedResultMsg) shell环境执行命令,第二个参数表示是否root权限执行
    execCommand(String command, boolean isRoot) shell环境执行命令
    源码可见ShellUtils.java,更多方法及更详细参数介绍可见ShellUtils Api Guide。关于静默安装可见apk-root权限静默安装

     

    4、PackageUtils
    Android包相关工具类,可用于(root)安装应用、(root)卸载应用、判断是否系统应用等,如:
    install(Context, String) 安装应用,如果是系统应用或已经root,则静默安装,否则一般安装
    uninstall(Context, String) 卸载应用,如果是系统应用或已经root,则静默卸载,否则一般卸载
    isSystemApplication(Context, String) 判断应用是否为系统应用
    源码可见PackageUtils.java,更多方法及更详细参数介绍可见ShellUtils Api Guide。关于静默安装可见apk-root权限静默安装

     

    5、PreferencesUtils
    Android SharedPreferences相关工具类,可用于方便的向SharedPreferences中读取和写入相关类型数据,如:
    putString(Context, String, String) 保存string类型数据
    putInt(Context, String, int) 保存int类型数据
    getString(Context, String) 获取string类型数据
    getInt(Context, String) 获取int类型数据
    可通过修改PREFERENCE_NAME变量修改preference name
    源码可见PreferencesUtils.java,更多方法及更详细参数介绍可见PreferencesUtils Api Guide

     

    6、JSONUtils
    JSONUtils工具类,可用于方便的向Json中读取和写入相关类型数据,如:
    String getString(JSONObject jsonObject, String key, String defaultValue) 得到string类型value
    String getString(String jsonData, String key, String defaultValue) 得到string类型value
    表示从json中读取某个String类型key的值

     

    getMap(JSONObject jsonObject, String key) 得到map
    getMap(String jsonData, String key) 得到map
    表示从json中读取某个Map类型key的值
    源码可见JSONUtils.java,更多方法及更详细参数介绍可见JSONUtils Api Guide

     

    7、FileUtils
    文件工具类,可用于读写文件及对文件进行操作。如:
    readFile(String filePath) 读文件
    writeFile(String filePath, String content, boolean append) 写文件
    getFileSize(String path) 得到文件大小
    deleteFile(String path) 删除文件
    源码可见FileUtils.java,更多方法及更详细参数介绍可见FileUtils Api Guide

     

    8、ResourceUtils
    Android Resource工具类,可用于从android资源目录的raw和assets目录读取内容,如:
    geFileFromAssets(Context context, String fileName) 得到assets目录下某个文件内容
    geFileFromRaw(Context context, int resId) 得到raw目录下某个文件内容
    源码可见ResourceUtils.java,更多方法及更详细参数介绍可见ResourceUtils Api Guide

     

    9、StringUtils
    String工具类,可用于常见字符串操作,如:
    isEmpty(String str) 判断字符串是否为空或长度为0
    isBlank(String str) 判断字符串是否为空或长度为0 或由空格组成
    utf8Encode(String str) 以utf-8格式编码
    capitalizeFirstLetter(String str) 首字母大写
    源码可见StringUtils.java,更多方法及更详细参数介绍可见StringUtils Api Guide

     

    10、ParcelUtils
    Android Parcel工具类,可用于从parcel读取或写入特殊类型数据,如:
    readBoolean(Parcel in) 从pacel中读取boolean类型数据
    readHashMap(Parcel in, ClassLoader loader) 从pacel中读取map类型数据
    writeBoolean(boolean b, Parcel out) 向parcel中写入boolean类型数据
    writeHashMap(Map<K, V> map, Parcel out, int flags) 向parcel中写入map类型数据
    源码可见ParcelUtils.java,更多方法及更详细参数介绍可见ParcelUtils Api Guide

     

    11、RandomUtils
    随机数工具类,可用于获取固定大小固定字符内的随机数,如:
    getRandom(char[] sourceChar, int length) 生成随机字符串,所有字符均在某个字符串内
    getRandomNumbers(int length) 生成随机数字
    源码可见RandomUtils.java,更多方法及更详细参数介绍可见RandomUtils Api Guide

     

    12、ArrayUtils
    数组工具类,可用于数组常用操作,如:
    isEmpty(V[] sourceArray) 判断数组是否为空或长度为0
    getLast(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到数组中某个元素前一个元素,isCircle表示是否循环
    getNext(V[] sourceArray, V value, V defaultValue, boolean isCircle) 得到数组中某个元素下一个元素,isCircle表示是否循环
    源码可见ArrayUtils.java,更多方法及更详细参数介绍可见ArrayUtils Api Guide

     

    13、ImageUtils
    图片工具类,可用于Bitmap, byte array, Drawable之间进行转换以及图片缩放,目前功能薄弱,后面会进行增强。如:
    bitmapToDrawable(Bitmap b) bimap转换为drawable
    drawableToBitmap(Drawable d) drawable转换为bitmap
    drawableToByte(Drawable d) drawable转换为byte
    scaleImage(Bitmap org, float scaleWidth, float scaleHeight) 缩放图片
    源码可见ImageUtils.java,更多方法及更详细参数介绍可见ImageUtils Api Guide

     

    14、ListUtils
    List工具类,可用于List常用操作,如:
    isEmpty(List<V> sourceList) 判断List是否为空或长度为0
    join(List<String> list, String separator) List转换为字符串,并以固定分隔符分割
    addDistinctEntry(List<V> sourceList, V entry) 向list中添加不重复元素
    源码可见ListUtils.java,更多方法及更详细参数介绍可见ListUtils Api Guide

     

    15、MapUtils
    Map工具类,可用于Map常用操作,如:
    isEmpty(Map<K, V> sourceMap) 判断map是否为空或长度为0
    parseKeyAndValueToMap(String source, String keyAndValueSeparator, String keyAndValuePairSeparator, boolean ignoreSpace) 字符串解析为map
    toJson(Map<String, String> map) map转换为json格式
    源码可见MapUtils.java,更多方法及更详细参数介绍可见MapUtils Api Guide

     

    16、ObjectUtils
    Object工具类,可用于Object常用操作,如:
    isEquals(Object actual, Object expected) 比较两个对象是否相等
    compare(V v1, V v2) 比较两个对象大小
    transformIntArray(int[] source)  Integer 数组转换为int数组
    源码可见ObjectUtils.java,更多方法及更详细参数介绍可见ObjectUtils Api Guide

     

    17、SerializeUtils
    序列化工具类,可用于序列化对象到文件或从文件反序列化对象,如:
    deserialization(String filePath) 从文件反序列化对象
    serialization(String filePath, Object obj) 序列化对象到文件
    源码可见SerializeUtils.java,更多方法及更详细参数介绍可见SerializeUtils Api Guide

     

    18、SystemUtils
    系统信息工具类,可用于得到线程池合适的大小,目前功能薄弱,后面会进行增强。如:
    getDefaultThreadPoolSize() 得到跟系统配置相符的线程池大小
    源码可见SystemUtils.java,更多方法及更详细参数介绍可见SystemUtils Api Guide

     

    19、TimeUtils
    时间工具类,可用于时间相关操作,如:
    getCurrentTimeInLong() 得到当前时间
    getTime(long timeInMillis, SimpleDateFormat dateFormat) 将long转换为固定格式时间字符串
    源码可见TimeUtils.java,更多方法及更详细参数介绍可见TimeUtils Api Guide



    链接:http://www.trinea.cn/category/android/

    转载:http://blog.csdn.NET/gao_chun/article/details/45718093

    展开全文
  • 源码和jar见:https://github.com/evil0ps/utils#Java Utils---封装了一些常用Java操作方法,便于重复开发利用.另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用Java代码。节约撸...

    源码和jar见:https://github.com/evil0ps/utils

    #Java Utils

    ---

    封装了一些常用Java操作方法,便于重复开发利用.

    另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用的Java代码。

    节约撸码时间以方便有更多的时间去把妹子~

    #开发环境

    Win7x64

    JDK1.7

    IDEA14

    #项目结构

    │ README.md

    │ utils.iml

    ├─.idea

    ├─conf

    │ configFTP.properties

    │ ftp.properties

    ├─Junit#测试类

    │ │ Test.properties

    │ │

    │ └─evilp0s

    │ │ CharsetTest.java

    │ │ DateUtilTest.java

    │ │ DateUtilThreadSafeTest.java

    │ │ EmailUtilTest.java

    │ │ FilePathUtilTest.java

    │ │ FileUtilTest.java

    │ │ PrintUtilTest.java

    │ │ ProUtilTest.java

    │ │ RandomUtilTest.java

    │ │ RegUtilTest.java

    │ │ SecUtilTest.java

    │ │ StringUtilTest.java

    │ │ SupportTest.java

    │ │ SysUtilTest.java

    │ │ ZIPUtilTest.java

    │ │

    │ └─algorithmImpl

    │ FileEncodingUtilTest.java

    │ FileImplTest.java

    │ FileTypeImplTest.java

    ├─lib#需要的Jar

    ├─out#相应的Jar

    │ ├─artifacts

    │ │ └─evilp0s_util

    │ │ evilp0s-util.jar

    └─src

    └─evilp0s

    │ CharsetUtil.java #字符串相关的工具类

    │ ClassUtil.java #Java Class与反射相关的一些工具类

    │ ChinesUtil.java #中文相关的工具类

    │ ConvertUtil.java #转换相关的工具类

    │ DateUtil.java #日期时间相关的工具类

    │ EmailUtil.java #Email相关的工具类

    │ FilePathUtil.java #文件路径相关的工具类

    │ FileUtil.java #文件相关的工具类

    │ PrintUtil.java #打印相关的工具类

    │ ProUtil.java #属性文件相关的工具类

    │ RandomUtil.java #随机操作的相关的工具类

    │ RegUtil.java #正则相关的工具类

    │ SecUtil.java #安全相关的工具类

    │ StreamUtil.java #Stream相关的工具类

    │ StringUtil.java #字符串相关的工具类

    │ SysUtil.java #系统相关的工具类

    │ ValidUtil.java #字符串相关的工具类

    │ WebUtil.java #Web相关的工具类

    │ ZIPUtil.java #zip相关的工具类

    ├─algorithmImpl#一些算法的实现细节

    │ cpDetector.java

    │ FileEncodingUtil.java

    │ FileImpl.java

    │ FileReadImpl.java

    │ FileTypeImpl.java

    │ StringImpl.java

    └─FTP#FTP相关操作的封装

    FileAttr.java

    FTPConstant.java

    FTPFactory.java

    FTPLog.java

    FTPtest.java

    FTPUtil.java

    FTPUtilImpl.java

    FTPVo.java

    FunctionSet.java

    #APIDOC

    #CharsetUtil字符串相关的工具类

    ##常量字段

    static java.lang.String GBK 中文超大字符集

    static java.lang.String ISO_8859_1 ISO 拉丁字母表 No.1,也叫作 ISO-LATIN-1

    static java.lang.String US_ASCII 7位ASCII字符,也叫作ISO646-US、Unicode字符集的基本拉丁块

    static java.lang.String UTF_16 16 位 UCS 转换格式,字节顺序由可选的字节顺序标记来标识

    static java.lang.String UTF_16BE 16 位 UCS 转换格式,Big Endian(最低地址存放高位字节)字节顺序

    static java.lang.String UTF_16LE 16 位 UCS 转换格式,Little-endian(最高地址存放低位字节)字节顺序

    static java.lang.String UTF_8 8 位 UCS 转换格式

    ##常量方法

    static java.lang.String changeCharset(java.lang.String str, java.lang.String newCharset)

    字符串编码转换的实现方法

    static java.lang.String changeCharset(java.lang.String str, java.lang.String oldCharset, java.lang.String newCharset)

    字符串编码转换的实现方法

    static java.lang.String toASCII(java.lang.String str)

    将字符编码转换成US-ASCII码

    static java.lang.String toGBK(java.lang.String str)

    将字符编码转换成GBK码

    static java.lang.String toISO_8859_1(java.lang.String str)

    将字符编码转换成ISO-8859-1码

    static java.lang.String toUTF_16(java.lang.String str)

    将字符编码转换成UTF-16码

    static java.lang.String toUTF_16BE(java.lang.String str)

    将字符编码转换成UTF-16BE码

    static java.lang.String toUTF_16LE(java.lang.String str)

    将字符编码转换成UTF-16LE码

    static java.lang.String toUTF_8(java.lang.String str)

    将字符编码转换成UTF-8码

    #ClassUtil-Class与反射相关的一些工具类

    ##常量方法

    static java.util.List getClassName(java.lang.String packageName, boolean childPackage)

    static java.lang.String[] getField(java.lang.String className)

    获取指定类的全部属性字段

    static java.lang.String[] getMethod(java.lang.String className)

    获取对象的全部方法

    static void getter(java.lang.Object obj, java.lang.String att)

    调用对象的getter方法

    static java.lang.String initStr(java.lang.String old)

    java.lang.Class loadClass(java.lang.String className)

    加载指定的类

    static T propertiesCopy(java.lang.Object obj, java.lang.Class type)

    同名属性值复制 将对象obj内属性名同类型T内容有同名属性的值复制到类型T中,并返回一个类型T的对象

    static T propertiesCopyIgnore(java.lang.Object obj, java.lang.Class type)

    同名属性值复制(忽略大小写) 将对象obj内属性名同类型T内容有同名属性的值复制到类型T中,并返回一个类型T的对象

    static T propertiesCopyIgnoreFilter(java.lang.Object obj, java.lang.Class type, java.lang.String IgnoreStr)

    同名属性值复制(比较时忽略字符IgnoreStr的内容) 将对象obj内属性名同类型T内容有同名属性的值复制到类型T中,并返回一个类型T的对象

    static void setter(java.lang.Object obj, java.lang.String att, java.lang.Object value, java.lang.Class> type)

    调用对象的setter方法

    #ChinesUtil中文相关的工具类

    ##常量方法

    static java.lang.String getFirstSpell(java.lang.String chinese)

    获取汉字串拼音首字母,英文字符不变

    static java.lang.String getFullSpell(java.lang.String chinese)

    获取汉字串拼音,英文字符不变

    static java.lang.String getPingYin(java.lang.String inputString)

    将字符串中的中文转化为拼音,其他字符不变

    static boolean isChinese(java.lang.String strName)

    static boolean isChineseByName(java.lang.String str)

    static boolean isChineseByREG(java.lang.String str)

    static void main(java.lang.String[] args)

    #ConvertUtil转换相关的工具类

    ##常量方法

    static int bytesToInt(byte[] bytes)

    static long byteToLong(byte[] b)

    static short byteToShort(byte[] b)

    static byte[] intToByte(int i)

    static byte[] longToByte(long number)

    static byte[] shortToByte(short number)

    #DateUtil日期时间相关的工具类

    ##常量方法

    static java.util.Date calculate(java.util.Date date, int second, java.lang.String timeBurst)

    时间Date在时间段(例如每天的08:00-18:00)上增加或减去second秒

    static java.util.Date calculate(java.lang.String date, int second, java.lang.String timeBurst)

    时间Date在时间段(例如每天的08:00-18:00)上增加或减去second秒

    static java.lang.String Date()

    获取当前的日期

    static java.lang.String Date(java.util.Date date)

    将指定的时间格式化成出返回

    static java.util.Date Date(java.lang.String dateStr)

    将指定的字符串解析为时间类型

    static java.lang.String DateTime()

    获取当前日期时间

    static java.lang.String DateTime(java.util.Date date)

    将指定的时间格式化成出返回

    static java.util.Date DateTime(java.lang.String datestr)

    将指定的字符串解析为时间类型

    static java.util.Date day(java.util.Date date, int day)

    在指定的时间上加或减去几天

    static java.util.Date day(int day)

    在当前时间的基础上加或减去几天

    static java.util.Date hour(java.util.Date date, float hour)

    在制定的时间上加或减去几小时-支持浮点数

    static java.util.Date hour(float hour)

    在当前时间的基础上加或减去几小时-支持浮点数

    static boolean isDate(java.lang.String date)

    判断字符串是否为日期字符串

    static java.util.Date Minute(java.util.Date date, int minute)

    在制定的时间上加或减去几分钟

    static java.util.Date Minute(int minute)

    在当前时间的基础上加或减去几分钟

    static java.util.Date month(java.util.Date date, int month)

    在指定的时间上加或减去几月

    static java.util.Date month(int month)

    在当前时间的基础上加或减去几月

    static int subDay(java.util.Date startTime, java.util.Date endTime)

    获取俩个时间之前的相隔的天数

    static int subDay(java.lang.String startTime, java.lang.String endTime)

    获取俩个时间之前的相隔的天数

    static long subtimeBurst(java.util.Date startDate, java.util.Date endDate, java.lang.String timeBurst)

    返回俩个时间在时间段(例如每天的08:00-18:00)的时长-单位秒

    static long subtimeBurst(java.lang.String startDate, java.lang.String endDate, java.lang.String timeBurst)

    返回俩个时间在时间段(例如每天的08:00-18:00)的时长-单位秒

    static long Subtract(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位秒

    static long Subtract(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差-单位秒

    static java.lang.String SubtractDate(java.lang.String date1, java.lang.String date2)

    获取俩个时间的查结果用时秒表示

    static int SubtractDay(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位天

    static int SubtractDay(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差-单位天

    static int SubtractHour(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位小时

    static int SubtractHour(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差-单位小时

    static int SubtractMinute(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位分钟

    static int SubtractMinute(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差 -单位分钟

    static int SubtractMonth(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位月

    static int SubtractMonth(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差-单位月

    static java.lang.String SubtractTime(java.lang.String date1, java.lang.String date2)

    获取俩个时间的查结果用时秒表示

    static int SubtractYear(java.util.Date date1, java.util.Date date2)

    时间date1和date2的时间差-单位年

    static int SubtractYear(java.lang.String date1, java.lang.String date2)

    时间date1和date2的时间差-单位年

    static java.lang.String Time()

    获取当前的时间

    static java.lang.String Time(java.util.Date date)

    讲指定的时间格式化成出返回

    static java.util.Date Time(java.lang.String dateStr)

    将指定的字符串解析为时间类型

    static java.util.Date year(java.util.Date date, int year)

    在指定的时间上加或减去几年

    static java.util.Date year(int year)

    在当前时间的基础上加或减去year年

    #EmailUtilEmail相关的工具类

    ##常量方法

    void doSendHtmlEmail(java.lang.String subject, java.lang.String sendHtml, java.lang.String receiveUser)

    发送邮件

    void doSendHtmlEmail(java.lang.String subject, java.lang.String sendHtml, java.lang.String receiveUser, java.io.File attachment)

    发送邮件

    #FilePathUtil文件路径相关的工具类

    ##常量方法

    static java.lang.String commandPath(java.lang.String file)

    返回一个通用的文件路径

    static java.lang.String getParentPath(java.lang.String file)

    返回相一个目录的对于本身的相对父目录

    #FileUtil文件相关的工具类

    ##常量方法

    static boolean appendLine(java.io.File file, java.lang.String str)

    在文件末尾追加一行

    static boolean cleanFile(java.io.File file)

    快速清空一个超大的文件

    static boolean copy(java.io.File file, java.lang.String targetFile)

    复制文件 通过该方式复制文件文件越大速度越是明显

    static boolean copy(java.lang.String resourcePath, java.lang.String targetPath)

    复制文件

    static void copyDir(java.io.File filePath, java.lang.String targetPath)

    复制目录

    static void copyDir(java.lang.String filePath, java.lang.String targetPath)

    复制目录

    static int countLines(java.io.File file)

    获取文件的行数

    static java.lang.String cpdetector(java.io.File file)

    获取文件的编码(cpDetector)探测

    static boolean createFiles(java.lang.String filePaht)

    创建文件支持多级目录

    static void createPaths(java.lang.String paths)

    创建多级目录

    static boolean deleteBigFile(java.io.File file)

    快速的删除超大的文件

    static boolean deleteDir(java.io.File file)

    删除一个目录

    static boolean deleteFile(java.io.File file)

    删除一个文件

    static java.lang.String FileType(java.io.File file)

    获取文件的类型

    static java.lang.String hash(java.io.File file)

    获取文件的Hash

    static java.util.List Lines(java.io.File file)

    以列表的方式获取文件的所有行

    static java.util.List Lines(java.io.File file, int lines)

    以列表的方式获取文件的指定的行数数据

    static java.util.List listFile(java.io.File path)

    罗列指定路径下的全部文件

    static java.util.List listFile(java.lang.String path)

    罗列指定路径下的全部文件

    static java.util.List listFileAll(java.io.File path)

    罗列指定路径下的全部文件包括文件夹

    static java.util.List listFileFilter(java.io.File dirPath, java.lang.String postfixs)

    获取指定目录下的特点文件,通过后缀名过滤

    static java.lang.String MimeType(java.lang.String file)

    获取文件的Mime类型

    static java.util.Date modifyTime(java.io.File file)

    获取文件最后的修改时间

    static java.util.List searchFile(java.io.File dirPath, java.lang.String fileName)

    在指定的目录下搜寻文个文件

    static java.util.List searchFileReg(java.io.File dirPath, java.lang.String reg)

    查找符合正则表达式reg的的文件

    static java.lang.String SimpleEncoding(java.lang.String file)

    利用简单的文件头字节特征探测文件编码

    #PrintUtil打印相关的工具类

    ##常量方法

    static void print(java.util.Enumeration enums)

    遍历打印Enumeration

    static void print(java.util.List> list)

    遍历打印遍历List集合

    static void print(java.util.Map map)

    遍历打印Map集合

    static void print(java.lang.String str)

    static void println(java.lang.Object obj)

    static void println(java.lang.String str)

    #ProUtil属性文件相关的工具类

    ##常量方法

    static java.lang.String GetAllProperties(java.lang.String filePath)

    读取Properties的全部信息

    static java.lang.String GetValueByKey(java.lang.String filePath, java.lang.String key)

    根据Key读取Value

    static java.lang.String key(java.lang.String key)

    static void WriteProperties(java.lang.String filePath, java.lang.String pKey, java.lang.String pValue)

    写入Properties信息

    #RandomUtil随机操作的相关的工具类

    ##常量方法

    static int getNotSimple(int[] param, int len)

    每次生成的len位数都不相同

    static java.lang.String LowerString(int length)

    返回一个定长的随机纯大写字母字符串(只包含大小写字母)

    static java.lang.String MixString(int length)

    返回一个定长的随机纯字母字符串(只包含大小写字母)

    static java.lang.String number(int length)

    static java.lang.String String(int length)

    返回一个定长的随机字符串(只包含大小写字母、数字)

    static java.lang.String toFixdLengthString(int num, int fixdlenth)

    根据数字生成一个定长的字符串,长度不够前面补0

    static java.lang.String toFixdLengthString(long num, int fixdlenth)

    根据数字生成一个定长的字符串,长度不够前面补0

    static java.lang.String UpperString(int length)

    返回一个定长的随机纯小写字母字符串(只包含大小写字母)

    static java.lang.String ZeroString(int length)

    生成一个定长的纯0字符串

    #RegUtil正则相关的工具类

    ##常量方法

    static boolean isMatche(java.lang.String str, java.lang.String reg)

    判断字符串str是否符合正则表达式reg

    #SecUtil安全相关的工具类

    ##常量方法

    static java.lang.String FileMD5(java.io.File file)

    static java.lang.String md5(java.lang.String password)

    #StreamUtil-Stream相关的工具类

    ##常量方法

    static java.io.InputStream byte2InputStream(byte[] b)

    static byte[] inputStream2Byte(java.io.InputStream inStream)

    static byte[] stream2Byte(java.io.InputStream is)

    void streamSaveAsFile(java.io.InputStream is, java.io.File outfile)

    将流另存为文件

    static java.lang.String streamToString(java.io.InputStream in)

    Read an input stream into a string

    #StringUtil字符串相关的工具类

    ##常量方法

    static int ChineseLength(java.lang.String str)

    获取一个字符串中中文字符的个数

    static int countSubStr(java.lang.String string, java.lang.String str)

    获取字符串str在String中出现的次数

    static int countSubStrReg(java.lang.String string, java.lang.String reg)

    获取符合reg正则表达式的字符串在String中出现的此时

    java.lang.String cpDetector(java.lang.String str)

    获取字符串的编码

    static java.lang.String formatFloat(float f, java.lang.String format)

    格式化一个float

    static java.lang.String full2Half(java.lang.String str)

    全角字符变半角字符

    static java.lang.String GBToUnicode(java.lang.String input)

    GBK转换成Unicode字符集

    static java.lang.String getHideEmailPrefix(java.lang.String email)

    隐藏邮件地址前缀。

    static java.lang.String getLimitLengthString(java.lang.String str, int len, java.lang.String symbol)

    截取字符串 超出的字符用symbol代替

    static int getStringLen(java.lang.String SrcStr)

    取得字符串的实际长度(考虑了汉字的情况)

    static java.lang.String html(java.lang.String content)

    HTML标签转义方法 —— java代码库

    static boolean isABC(java.lang.String src)

    判断是否纯字母组合

    static boolean isChinese(char c)

    判断是否是中文

    static boolean isChinese(java.lang.String strName)

    完整的判断中文汉字和符号

    static boolean isEmail(java.lang.String email)

    static boolean isEmpty(java.lang.String s)

    判断是否是空字符串 null和"" 都返回 true

    static boolean isFloatNumeric(java.lang.String src)

    判断是否浮点数字表示

    static boolean isIn(java.lang.String substring, java.lang.String[] source)

    判断字符串数组中是否包含某字符串元素

    static boolean isInteger(java.lang.String str)

    static boolean isMessyCode(java.lang.String strName)

    判断是否是乱码

    static boolean isNumeric(java.lang.String src)

    判断是否数字表示

    static boolean isNumericString(java.lang.String src)

    判断是否数字表示

    static java.lang.String joinString(java.util.List array, java.lang.String symbol)

    把string array or list用给定的符号symbol连接成一个字符串

    static java.lang.String joinString(java.lang.String[] array, java.lang.String symbol)

    把string array or list用给定的符号symbol连接成一个字符串

    static java.lang.String left(java.lang.String input, int count)

    截取字符串左侧指定长度的字符串

    static java.lang.String listToStringSlipStr(java.util.List list, java.lang.String slipStr)

    将list 用传入的分隔符组装为String

    static java.lang.String middle(java.lang.String input, int index, int count)

    从指定位置开始截取指定长度的字符串

    static java.util.Map parseQuery(java.lang.String query, char split1, char split2, java.lang.String dupLink)

    解析字符串返回map键值对(例:a=1&b=2 => a=1,b=2)

    static java.util.List parseString2ListByCustomerPattern(java.lang.String pattern, java.lang.String src)

    根据指定的字符把源字符串分割成一个数组

    static java.lang.String repeat(java.lang.String src, int num)

    repeat - 通过源字符串重复生成N次组成新的字符串。

    static java.lang.String replaceAll(java.lang.String s, java.lang.String sf, java.lang.String sb)

    存文本替换

    static java.lang.String replaceBlank(java.lang.String str)

    页面中去除字符串中的空格、回车、换行符、制表符

    static java.lang.String replaceBracketStr(java.lang.String str)

    全角括号转为半角

    static boolean requals(java.lang.String str1, java.lang.String str2)

    static java.lang.String right(java.lang.String input, int count)

    截取字符串右侧指定长度的字符串

    static double SimilarDegree(java.lang.String str1, java.lang.String str2)

    字符串相似度比较(速度较快)

    static double SimilarityRatio(java.lang.String str1, java.lang.String str2)

    字符串相似度比较(速度较快)

    java.lang.String SimpleEncoding(java.lang.String str)

    获取字符串的编码

    static java.lang.String string2Unicode(java.lang.String string)

    static java.lang.String subStringNotEncode(java.lang.String subject, int size)

    讲字符串截取到指定长度size+...的形式

    static java.lang.String subStrNotEncode(java.lang.String subject, int size)

    截取字符,不转码

    static java.lang.String trimPunct(java.lang.String str)

    删除所有的标点符号

    static java.lang.String unicode2String(java.lang.String unicode)

    static java.lang.String UnicodeToGB(java.lang.String input)

    Unicode转换成GBK字符集

    #SysUtil系统相关的工具类

    ##常量字段

    static java.lang.String STR_HOSTNAME

    static java.lang.String STR_IP

    #ValidUtil字符串相关的工具类

    ##常量方法

    static boolean isValid(java.util.Collection col)

    判断集合的有效性

    static boolean isValid(java.lang.Object obj)

    判断一个对象是否为空

    static boolean isValid(java.lang.Object[] arr)

    判断数组是否有效

    static boolean isValid(java.lang.String src)

    判断字符串有效性

    #WebUtilWeb相关的工具类

    ##常量方法

    static java.lang.String escape(java.lang.String src)

    static java.lang.String getParamValue(java.lang.String url, java.lang.String paramName)

    static void main(java.lang.String[] args)

    static void print(javax.servlet.http.HttpServletRequest request)

    static java.lang.String removeParam(java.lang.String url, java.lang.String... paramNames)

    static java.lang.String removeParam(java.lang.String url, java.lang.String paramName)

    static java.lang.String setParam(java.lang.String url, java.lang.String paramName, java.lang.String paramValue)

    static java.lang.String unescape(java.lang.String src)

    static java.lang.String urlJoin(java.net.URL url, java.lang.String locationHeader)

    #ZIPUtil-zip相关的工具类

    ##常量方法

    static void deCompress(java.io.File file, java.lang.String dest)

    文档压缩

    static void unCompress(java.io.File source, java.lang.String path)

    文档解压

    static void zipFile(java.io.File inFile, java.util.zip.ZipOutputStream zos, java.lang.String dir)

    展开全文
  • #Java Utils封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起测试和完善 一起封装和完成常用Java代码。 节约撸码时间以方便有更多的时间去把妹子~#开发环境Win7x64JDK1.7IDEA14#...
  • 十年工作经验总结的java 常用工具类分享大家-ArrayUtil,CharsetUtil,CharUtil,CheckUtil,ChinesUtil,ClassUtil,ConfigUtil,ConvertUtil,DateUtil,EmailUtil,ExceptionUtil,FilePathUtil,FileUtil,...
  • java常用工具类

    2018-11-09 10:29:15
    javaUtilsjava常用工具类java常用工具类,整理的,免得一个一个找!
  • Java Utils工具类大全

    千次阅读 2020-08-18 11:02:46
    #Java Utils 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用Java代码。 节约撸码时间以方便有更多的时间去把妹子~ #开发环境 ...
  • Java Utils工具类 设计

    2019-05-23 14:27:25
    源码和jar见:...另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用Java代码。 节约撸码时间以方便有更多的时间去把妹子~ #开发环境 Win7x64 JDK1.7 ID...
  • 源码和jar见:https://github.com/evil0ps/utils#Java Utils---封装了一些常用Java操作方法,便于重复开发利用.另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用Java代码。节约撸...
  • 一、MD5加密 package com.commont.util; import java.security.MessageDigest; public class MD5Util { public static String md5(String string) { if (string == null || string.trim().length() <...
  • MD5 工具类 MD5Utils HTTP 请求工具类 HttpClientUtils 随机数工具类 RandomUtils JWT 工具类 JwtUtils 依赖: <!-- JWT--> <dependency> <groupId>io.jsonwebtoken</groupId> <...
  • java 常用工具类

    2017-06-23 16:12:16
    java utils 工具类
  • Java Utils工具类大全(转)

    千次阅读 2018-03-29 15:38:00
    #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用Java代码。 节约撸码时间以方便有更多的时间去把妹子~ #...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 511
精华内容 204
热门标签
关键字:

java常用utils工具类

java 订阅