package org.cneng.httpclient;
import org.apache.commons.io.ByteOrderMark;
import org.apache.commons.io.input.BOMInputStream;
import org.apache.commons.lang.StringUtils;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.util.Scanner;
/**
* 字符串工具类
*
* @author XiongNeng
* @version 1.0
* @since 2015/2/28
*/
public class StringUtil {
/**
* 将null转换成空字符串
*
* @param str 字符串
* @return 结果字符串
*/
public static String nullToEmpty(String str) {
return str == null ? "" : str;
}
/**
* 将null转换成空字符串
*
* @param str 字符串
* @return 结果字符串
*/
public static String nullToEmpty1(String str, String otherNull) {
return (str == null || str.equals(otherNull)) ? "" : str;
}
/**
* 判断字符串是否为空字符
*
* @param str
* @return
*/
public static boolean isBlank(String str) {
return StringUtils.isBlank(str);
}
/**
* 判断字符串是否不为空字符
*
* @param str
* @return
*/
public static boolean isNotBlank(String str) {
return StringUtils.isNotBlank(str);
}
/**
* 获取文件的UTF-8编码字符串表示
*
* @param filename 文件名
* @return 文件内容
*/
private static String getUTF8(String filename) {
String content = null;
String charset = "utf-8";
try {
FileInputStream fis = new FileInputStream(filename);
//可检测多种类型,并剔除bom
BOMInputStream bomIn = new BOMInputStream(fis, false, ByteOrderMark.UTF_8);
//若检测到bom,则使用bom对应的编码
if (bomIn.hasBOM()) {
charset = bomIn.getBOMCharsetName();
}
InputStreamReader reader = new InputStreamReader(bomIn, charset);
content = new Scanner(reader).useDelimiter("\\Z").next();
System.out.println(content);
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return content;
}
/**
* 根据推荐状态来获取是否可增加新推荐
*
* @param recommendStatus 推荐状态
* @return 是否可编辑
*/
public static boolean addFlagByStatus(String recommendStatus) {
return "待推荐".equals(recommendStatus)
|| "推荐失败".equals(recommendStatus)
|| "审核不通过".equals(recommendStatus);
}
/**
* 根据推荐状态来获取是否可保存
*
* @param recommendStatus 推荐状态
* @return 是否可编辑
*/
public static boolean saveFlagByStatus(String recommendStatus) {
return "推荐中".equals(recommendStatus);
}
private static DecimalFormat df = new DecimalFormat("0");
public static String floatS(Float f) {
return df.format(f);
}
public static String doubleS(Double d) {
return df.format(d);
}
}