java常用类的施用办法

在有一点须求个中大家需求抓取字段而且填充到excel表格里面,最终将excel表格调换来pdf格式实行输出,笔者先是次接触这一个供给时,蒙受多少个比较困难的主题素材,未来相继列出况且提供实施方案。

java常用类的应用方式

1:excel转pdf出现乱码:

Interger:整数项目

    第叁遍excel转pdf是打响的,首回始发后边都已乱码,是因为我的pdf转excel方法现身的题材,消除办法是应用java本身底层的诀窍(详见下方代码卡塔尔。

1、属性。

 public static boolean getLicense()
{
        boolean result = false;
        try {
            InputStream is =
Thread.currentThread().getContextClassLoader()
                  
 .getResourceAsStream(“license.xml”); // 
license.xml应放在..WebRootWEB-INFclasses路径下
            License aposeLic = new
License();
           
aposeLic.setLicense(is);
            result = true;
        } catch (Exception e)
{               
            e.printStackTrace();
        }
        return result;
    }
    
    
    public static void
excelTransferPdf(String excelPath,String pdfPath) {
        if (!getLicense()) {
            System.out.println(“license
faile”);
            return;
        }
        
        try {     
            Workbook wb = new
Workbook(excelPath);
            FileOutputStream fileOS = new
FileOutputStream(new File(pdfPath));
            wb.save(fileOS,
com.aspose.cells.SaveFormat.PDF);
            fileOS.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

static int MAX_VALUE:重临最大的整型数;
static int MIN_VALUE:重返最小的整型数;
static Class TYPE :重临当前项目。

2:excel转pdf现身折行。

例子:
代码:
System.out.println(“Integer.MAX_VALUE: ” + Integer.MAX_VALUE );
结果为:Integer.MAX_VALUE: 2147483647
 

  excel转pdf现身折行的情形极其普及,因为在程序运维进程中有的是字段是抓取的,你不能够推断你的excel转成pdf会有几页,所以那时候你就无须随便设置excel的预览格式,将excel的单元格式设置自动换行。

2、构造函数。

3:抓取字段突显结果不完全:。

Integer(int value) :通过叁个int的项目构造对象;
Integer(String s) :通过二个String的档案的次序构造对象;

  当您未设置单元格大小而又未有设置单元格自动换行,举例你的A18单元格里面包车型大巴字段超越了单元格的尺寸你还从未设置单元格大小而又从未安装单元格自动换行,就将抓取的字段填充在B18单元格里面,那么打字与印刷出来的pdf文件A18单元格超过单元非常的剧情是不予呈现的,那时您要么将抓取字段填充在C18单元格内要么将官和校官勘A18单元格格式

例子:
代码:
Integer i = new Integer(“1234”);
变迁了一个值为1234的Integer对象。
 

4:excel转PDF字段内容无故中间部分换行:

3、方法。
说明:

  那是本人遭逢的最坑的叁个地点,那时候你只须要在excel单元格里面安装自动换行就可以,没有必要代码强行自动换行(强行换行有望只现身多行数据只显示生机勃勃行卡塔尔国。同期您须求如下代码:

  1. 持有办法均为public;
  2. 书写格式:〔修饰符〕 <再次来到类型>
    <方法名(〔参数列表〕卡塔尔>
    如:
    static int parseInt(String s)
    表示:此方法(parseInt卡塔尔国为类方式(static卡塔尔,重返类型为(int卡塔尔国,方法所需参数为String类型。

/**
     *
获得多个字符串的尺寸,呈现的尺寸,一个汉字或日匈牙利(Magyarország卡塔尔国语长度为1,波兰语字符长度为0.5
     *
     * @param String
     *            s 须求获得长度的字符串
     * @return int 获得的字符串长度
     */
    public static double getLength(String s) {
        double valueLength = 0;
        if (s == null) {
            return 0;
        }
        String chinese = “[u4e00-u9fa5]”;
        //
获取字段值的尺寸,假若含中文字符,则每一个普通话字符长度为2,不然为1
        for (int i = 0; i < s.length(); i++) {
            // 获取二个字符
            String temp = s.substring(i, i + 1);
            // 剖断是否为华语字符
            if (temp.matches(chinese)) {
                // 普通话字符长度为2
                valueLength += 2;
            } else {
                // 其他字符长度为1
                valueLength += 1;
            }
        }
        // 进位取整
        return Math.ceil(valueLength);
    }

 

    /**
     * 依据字符串长度获取行高
     *
     * @param str
     * @return
     */
    public static Float getRowHeight(String str) {

  1. byteValue():得到用byte类型表示的卡尺头;
  2. int compareTo(Integer anotherInteger)
    :比较五个整数。相等时重回0;小于时回来负数;大于时重回正数。

        Integer lineCount = (int) (getLength(str) / 64) + 1;
        if (str.contains(“n”)) {
            Integer tempLineCount = 1;
            String[] lines = str.split(“n”);
            for (String line : lines) {
                Integer everyLineCount = (int) (getLength(line) / 64) +
1;
                tempLineCount += everyLineCount;
            }
            lineCount = lineCount >= tempLineCount ? lineCount :
tempLineCount;
        }
        Float rowHeight = (float) (lineCount * 20);
        return rowHeight;
    }

例子:
代码:

您须求先得到抓取的字符串的尺寸,然后经过这些点子计算行高,再将excel须求填写的该行用Java代码设置行高(行高单位是像素卡塔尔,不过生龙活虎旦现身本人上边说的字段内容无故中间部分换行,那么您得到的行高就能够相差,那时你须求更换这一个地方—–>>>>Float rowHeight = (float) (lineCount * X); 
x的值应当要安装的大学一年级行,避防现身这种气象!

Integer i = new Integer(1234);
System.out.println(“i.compareTo: ” + i.compareTo(new Integer(123)) );
结果为:i.compareTo: 1
 

 

 

  1. int compareTo(Object o)
    :将该整数与别的类举行比较。假设o也为Integer类,进行艺术2
    的操作;否则,抛出ClassCastException分外。
  2. static Integer decode(String nm) :将字符串转变为整数。
  3. double doubleValue() :拿到该整数的双精度表示。
  4. boolean equals(Object obj) :相比四个对象。
  5. float floatValue() :得到该整数的浮点数表示。
  6. static Integer getInteger(String nm) :依据钦赐名明确系统特征值。
  7. static Integer getInteger(String nm, int val) :下面的重载。
  8. static Integer getInteger(String nm, Integer val) :上边的重载。
  9. int hashCode() :重临该整数类型的哈希表码。
  10. int intValue() : 重临该整型数所表示的整数。
  11. long longValue() :再次来到该整型数所表示的长整数。
  12. static int parseInt(String s)
    :将字符串转变到整数。s必需是时进制数组成,不然抛出NumberFormatException非常。
  13. static int parseInt(String s, int radix)
    :以radix为基数radix重临s的十进制数。所谓的基数,就是“几进制”。

例子:
代码:

String s1 = new String(“1010”);
System.out.println(“Integer.parseInt(String s, int radix): ” +
Integer.parseInt(s1,2) );
结果为:Integer.parseInt(String s, int radix): 10
 

 

  1. short shortValue() :再次回到该整型数所表示的短整数。
  2. static String toBinaryString(int i) :将整数转为二进制数的字符串。
  3. static String toHexString(int i) :将整数转为十一进制数的字符串。
  4. static String toOctalString(int i) :将整数转为八进制数的字符串。
  5. String toString() :将该整数类型调换为字符串。
  6. static String toString(int i)
    :将该整数类型转变为字符串。差异的是,此为类格局。
  7. static String toString(int i, int radix)
    :将整数i以基数radix的款式转变来字符串。

例子:
代码:
int i1 = 54321;
System.out.println(“Integer.toString(int i, int radix): ” +
Integer.toString(i1,16) );
结果为:Integer.toString(int i, int radix): d431

 

  1. static Integer valueOf(String s) :将字符串转变到整数类型。
  2. static Integer valueOf(String s, int radix)
    :将字符串以基数radix的渴求转换来整数类型。
     

Float类的使用格局

Float:实数类型

1、属性。

  1. static float MAX_VALUE :
    重回最大浮点数,在差别硬件平新竹由Float.intBitsToFloat(0x7f7fffff)计算得出。
  2. static float MIN_VALUE :
    再次回到最小浮点数,在不相同硬件平高雄由Float.intBitsToFloat(0x1)计算得出。
  3. static float NaN :
    表示非数值类型的浮点数,在分化硬件平新北由Float.intBitsToFloat(0x7fc00000)总结得出。
  4. static float
    NEGATIVE_INFINITY:再次回到负无穷浮点数,在差别硬件平新北由Float.intBitsToFloat(0xff800000)总结得出。
  5. static float POSITIVE_INFINITY
    :再次回到正无穷浮点数,在分歧硬件平台南由Float.intBitsToFloat(0x7f800000)计算得出。
  6. static Class TYPE :重回当前项目。

2、构造函数。

Float(double value) :以double类型为参数构造Float对象。
Float(float value) :以Float类型为参数构造Float对象。
Float(String s) :以String类型为参数构造Float对象。

3、方法。
说明:

  1. 具备办法均为public;
  2. 书写格式:〔修饰符〕 <再次来到类型>
    <方法名(〔参数列表〕卡塔 尔(阿拉伯语:قطر‎>
    如:
    static int parseInt(String s)
    表示:此办法(parseInt卡塔尔国为类形式(static卡塔尔,重临类型为(int卡塔 尔(英语:State of Qatar),方法所需参数为String类型。

 

  1. byte byteValue() :重临以字节表示的浮点数。
  2. static int compare(float f1, float f2)
    :此为类措施,相比f1和f2。相当于new Float(f1).compareTo(new
    Float(f2))。假诺f1与f2相等,重临0;小于关系,再次回到负数;大于关系,再次回到正数。
  3. int compareTo(Float anotherFloat)
    :此为对象方法,当前目的与anotherFloat相比。与2的可比准绳平等。
  4. int compareTo(Object o)
    :当前指标与o举办相比较,如若o归属Float类,那么,相当于3;假诺是此外类,则抛出ClassCastException至极。
  5. double doubleValue() :再次回到浮点数的双精度值。
  6. boolean equals(Object obj)
    :比较当前Float对象与obj的开始和结果是不是后生可畏律。大相当多情形是比较三个Float对象的值是不是等于,也等于f1.floatValue()
    == f2.floatValue()的值。与2、3、4见仁见智的是:6赶回boolean型。
  7. static int floatToIntBits(float value):遵照IEEE
    754转账成float并出口它的十进制数值。
  8. float floatValue() :再次回到该浮点数对象的浮点数值。
  9. int hashCode() :再次来到该Float对象的哈希表码。
  10. int intValue() :重返该Float对象的整数值(整数局地卡塔尔国。
  11. boolean isInfinite() :判定该Float对象是不是是无穷。
  12. static boolean isInfinite(float v)
    :与11看似,差别的是:此为类格局,判别的是v。
  13. boolean isNaN() :剖断该Float对象是否为非数值。
  14. static boolean isNaN(float v) :功用与13长久以来,只然则判别v。
  15. long longValue() :重回该Float对象的长整数值。
  16. static float parseFloat(String s) :将字符串转变来浮点数。
  17. short shortValue() :再次来到该Float对象的短整数值。
  18. String toString() :将该Float对象调换到字符串。
  19. static String toString(float f) :功用与18均等,只是调换f。
  20. static Float valueOf(String s) :将字符串转变到浮点数。

例子:
代码:
Float f = new Float(1237.45);
Float fs = new Float(“123.45”);
Float fd = new Float(1234146865679824657987947924623724749.16416925);

System.out.println(“f.compare(fs): ” + f.compareTo(fs) );
System.out.println(“f.compareTo(fd): ” + f.compareTo(fd) );
System.out.println(“Float.compare(1.23f,3.25f): ” +
Float.compare(1.23f,3.25f) );
结果为:
f.compare(fs): 1
f.compareTo(fd): -1
Float.compare(1.23f,3.25f): -1

代码:
Float f = new Float(1237.45);
System.out.println(“f.equals(fs): ” + f.equals(fs) );
结果为:f.equals(fs): false

Double类的应用方法

Double:双精度类型

1、属性。

 

  1. static Double MAX_VALUE :
    再次回到最大双精度数,在区别硬件平新竹由Double.longBitsToDouble(0x7fefffffffffffffL)计算得出。
  2. static Double MIN_VALUE :
    重返最小双精度数,在分裂硬件平新竹由Double.longBitsToDouble(0x1L)总括得出。
  3. static Double NaN :
    表示非数值类型的双精度数,在差异硬件平台南由Double.longBitsToDouble(0x7ff8000000000000L)计算得出。
  4. static Double
    NEGATIVE_INFINITY:重返负无穷双精度数,在差别硬件平台南由Double.longBitsToDouble(0xfff0000000000000L)总结得出。
  5. static Double POSITIVE_INFINITY
    :重临正无穷双精度数,在区别硬件平新竹由Double.longBitsToDouble(0x7ff0000000000000L)计算得出。
  6. static Class TYPE :再次来到当前项目。

2、构造函数。

Double(double value) :以double类型为参数创造Double对象。
Double(String s) :以String类型为参数成立String对象。

3、方法。
说明:

  1. 富有办法均为public;
  2. 书写格式:〔修饰符〕 <重返类型>
    <方法名(〔参数列表〕卡塔 尔(英语:State of Qatar)>
    如:
    static int parseInt(String s)
    表示:此办法(parseInt卡塔 尔(阿拉伯语:قطر‎为类方式(static卡塔尔国,再次回到类型为(int卡塔 尔(阿拉伯语:قطر‎,方法所需参数为String类型。

 

  1. byte byteValue() :重临以字节表示的双精度数。
  2. static int compare(double d1, double d2)
    :此为类措施,比较d1和d2。也正是new Double(d1).compareTo(new
    Double(d2))。假诺d1与d2相等,重回0;小于关系,重临负数;大于关系,再次回到正数。
  3. int compareTo(Double anotherDouble)
    :此为对象方法,当前指标与anotherDouble相比。与2的可比准则平等。
  4. int compareTo(Object o)
    :当前目的与o实行相比,要是o归于Double类,那么,也正是3;假诺是别的类,则抛出ClassCastException相当。
  5. static long doubleToLongBits(double value) :把value遵照IEEE
    754转形成long并出口它的十进制数值。
  6. double doubleValue() :重返该双精度数对象的双精度数值。
  7. boolean equals(Object obj)
    :比较当前Double对象与obj的内容是或不是朝气蓬勃律。大大多情景是比较五个Double对象的值是不是等于,相当于d1.doubleValue()
    == d2.doubleValue()的值。
  8. float floatValue() :重回该浮点数对象的浮点数值。
  9. int hashCode() :重回该Double对象的哈希表码。
  10. int intValue() :重回该Double对象的整数值(整数片段卡塔 尔(阿拉伯语:قطر‎。
  11. boolean isInfinite() :推断该Double对象是或不是是无穷。
  12. static boolean isInfinite(double v)
    :与11雷同,不一样的是:此为类措施,推断的是v。
  13. boolean isNaN() :判定该Double对象是不是为非数值。
  14. static boolean isNaN(double v) :功用与13如出风流洒脱辙,只不过判别v。
  15. long longValue() :重临该Double对象的长整数值。
  16. static float parseFloat(String s) :将字符串转变来双精度数。
  17. short shortValue() :重临该Double对象的短整数值。
  18. String toString() :将该Double对象转变到字符串。
  19. static String toString(Double f) :效用与18同样,只是调换f。
  20. static Double valueOf(String s) :将字符串调换成双精度数。

事例:与Float类的貌似。

 

Character类的使用形式

Character:字符类型

1、属性。

static int MIN_RADIX :重回最小基数。
static int MAX_RADIX :重回最大基数。
static char MAX_VALUE :字符类型的最大值。
static char MIN_VALUE :字符类型的小不点儿值。
static Class TYPE :重返当前项目。

2、构造函数。

Character(char value):以char参数构造一个Character对象。

3、方法。
说明:

  1. 具备办法均为public;
  2. 挥洒格式:〔修饰符〕 <再次来到类型>
    <方法名(〔参数列表〕卡塔 尔(英语:State of Qatar)>
    如:
    static int parseInt(String s)
    表示:此方式(parseInt卡塔 尔(阿拉伯语:قطر‎为类措施(static卡塔 尔(英语:State of Qatar),重临类型为(int卡塔尔国,方法所需参数为String类型。

发表评论

电子邮件地址不会被公开。 必填项已用*标注