SysUtil(工具类)

SysUtil使用最为频繁,代码不多,需要掌握反射跟异步知识。

反射:

反射是指在程序运行时来加载一些类,主要有两点,一:根据类的名称把类load进来。二:获取类的信息,有哪些方法,是什么类型等

加载:Class<?> c= Class.forName("Reflect");

获取信息:c.getName()获取名称

通过调用.newInstance();产生实例也能调用Reflect类所自定义的方法

c.getConstructors();获取所有的构造方法

c.getInterfaces();获取所有接口

c.getSuperclass();获取父类

。。。。还有很多,后面我会用整篇文章专门介绍java的反射

异步:

syschronized(object){}就是一个锁,由于获取id是不允许重复的,所以获取id之前要加锁,获取后别的线程才能获取



public class SysUtil {

//相当于sys.id一个静态变量,同样我们可以添加sys.qhbm等
private static long currentId = 0;
private static char serverId;
private static Object idLock = new Object();

1.public static String getId()

获取一个新的id

2.private static char intToChar(int val)

int转换成char,(char) (val + 48)

3.private static String numToString(long num)

把一个long类型的数字转化为String

4.public static String getShortError(Throwable e)

获取最开始的异常原因

5.public static void executeMethod(String classMethodName,HttpServletRequest request, HttpServletResponse response)

5与6用到了java的反射,根据方法的包名,类名,方法名,进行调用,主要代码如下:

Class<?> cls = Class.forName(className);
cls.getMethod(methodName).invoke(cls);

6.public static void executeMethod(String classMethodName)

见5

7.public static int isToOs(InputStream is, OutputStream os)

从输入流写入输出流,并返回流大小(这里可以采用的是数组形式,不是Chanel的方式)

8.public static ByteArrayInputStream getBIS(InputStream is)

这个方法有点奇怪,用到了时候再说

9.public static String readString(Reader reader)

把Reader流的数据读取成String返回

10.public static void closeInputStream(InputStream inputStream)

关闭InputStream

11.public static void error(String msg)

抛出一个异常

时间: 2024-12-14 07:43:49

SysUtil(工具类)的相关文章

EAS常用工具类

1 package com.kingdee.eas.custom; 2 import java.io.File; 3 import java.io.FileNotFoundException; 4 import java.io.FileOutputStream; 5 import java.io.IOException; 6 import java.io.InputStream; 7 import java.io.PrintWriter; 8 import java.io.StringWrite

Java Utils工具类大全

源码和jar见:https://github.com/evil0ps/utils #Java Utils --- 封装了一些常用Java操作方法,便于重复开发利用. 另外希望身为Java牛牛的你们一起测试和完善,欢迎入群263641914 一起封装和完成常用的Java代码. 节约撸码时间以方便有更多的时间去把妹子- #开发环境 Win7x64 JDK1.7 IDEA14 #项目结构 │ README.md │ utils.iml │ ├─.idea │ ├─conf │ configFTP.pr

Arrays工具类

Arraysd的静态方法能够方便的对数组进行操作,每个方法也加了注释 : 程序: import java.util.*;public class Array{        public static void main(String[] args){                int[]  arr={1,3,4,2};                System.out.println("排序前:");                printArray(arr);//打印原数组

常用工具类(System,Runtime,Date,Calendar,Math)

一.Sy 一个java.lang包中的静态工具类. 三大字段: static PrintStream err "标准"错误输出流. static InputStream in "标准"输入流. static PrintStream out "标准"输出流. 其他常用方法: 描述系统信息: 获取系统属性信息: static Properties getProperties(): (Properties是Hashtable的子类,也就是Map 的子类

iOS 中的正则匹配(工具类)

正则表达式 正则表达式是对字符串操作的一种逻辑公式, 用事先定义好的一些特定字符.及这些特定字符的组合, 组成一个"规则字符串", 这个"规则字符串"用来表达对字符串的一种过滤逻辑, 正则表达式就是用于描述这些规则的工具, 或者说, 正则表达式就是记录文本规则的代码. 在开发中, 我们经常会有查找符合某些复杂规则的字符串的需要, 比如数据校验: 判断用户的输入是否合法(如:用户注册的时候,QQ号码,电话号码,邮箱是否符合要求) 下面让我们先来看看正则匹配常用的一些字

(九十五)音效播放方法和工具类的制作

音效通过AVFoundation框架实现,是通过函数而不是方法,因此需要进行桥接等操作,具体步骤如下. 进行音效播放,首先要得到音效的URL(只能是本地音频),然后转换为音效ID(唯一),通过ID播放音效. [音效播放方法] ①导入框架主头文件 #import <AVFoundation/AVFoundation.h> ②通过Bundle拿到本地音效,然后调用AudioServicesCreateSystemSoundID函数得到音效ID,ID为0代表无效,以此为依据可进行懒加载 @inter

spring endpoint工具类

工具类代码 @Controller public class EndpointDocController {     private final RequestMappingHandlerMapping handlerMapping;     @Autowired     public EndpointDocController(RequestMappingHandlerMapping handlerMapping) {         this.handlerMapping = handler

web常用的工具类总结

数据库的链接的操作类 package utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBConnection { private static final String DBDRIVER = "com.m

字符串工具类(指定字符串的长度和判断是否为空等方法)

package com.sec.util; /** * 字符串工具类 * @author Administrator * */public class StringUtil { /** * 过滤<,>,\n 字符串的方法 * @param input * @return */ public static String filterHTML(String input){ if(input == null || input.length() == 0){ return input; } input

java并发的艺术-读书笔记-第八章常用的并发工具类

jdk中提供了几个非常有用的工具类,分别是CountDownLatch,CyclicBarrier和semaphore exchanger CountDownLatch:允许一个或者多个线程等待其他线程完成操作 public class CountDownLatchTest{ static CountDownLatch c = new CountDownLatch(2); public static void main(String[] args){ new Thread(new Runnabl