Java tutorial
/******************************************************************************* * This file is part of Goko. * * Goko is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Goko is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Goko. If not, see <http://www.gnu.org/licenses/>. *******************************************************************************/ package org.goko.core.common; import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import org.goko.core.common.exception.GkException; import org.goko.core.common.exception.GkTechnicalException; public class GkUtils { public static List<Byte> toBytesList(String... strings) { List<Byte> lst = new ArrayList<Byte>(); if (strings != null) { for (String str : strings) { for (byte b : str.getBytes()) { lst.add(new Byte(b)); } } } return lst; } public static List<Byte> toBytesList(byte[] arr) { List<Byte> lst = new ArrayList<Byte>(); if (arr != null) { for (int i = 0; i < arr.length; i++) { lst.add(new Byte(arr[i])); } } return lst; } public static List<Byte> addBytesArray(List<Byte> lst, byte[] arr) { if (arr != null) { for (int i = 0; i < arr.length; i++) { lst.add(new Byte(arr[i])); } } return lst; } public static BigDecimal toBigDecimal(String str) throws GkException { DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(); df.setParseBigDecimal(true); try { return (BigDecimal) df.parse(str); } catch (ParseException e) { throw new GkTechnicalException(e); } } public static String toString(byte[] data) { StringBuffer buffer = new StringBuffer(data.length); for (byte b : data) { buffer.append((char) b); } return buffer.toString(); } public static String toString(List<Byte> data) { StringBuffer buffer = new StringBuffer(data.size()); byte[] byteArray = ArrayUtils.toPrimitive(data.toArray(new Byte[] {})); for (byte b : byteArray) { buffer.append((char) b); } return buffer.toString(); } public static String toStringReplaceCRLF(List<Byte> data) { String str = GkUtils.toString(data); str = StringUtils.replace(str, "" + '\n', "\\n"); str = StringUtils.replace(str, "" + '\r', "\\r"); return str; } public static String toStringReplaceCRLF(byte[] data) { String str = GkUtils.toString(data); str = StringUtils.replace(str, "" + '\n', "\\n"); str = StringUtils.replace(str, "" + '\r', "\\r"); return str; } }