Files
HRMS/hrmsEjb/jxl/biff/StringHelper.java
2025-07-28 13:56:49 +05:30

80 lines
2.2 KiB
Java

package jxl.biff;
import common.Logger;
import java.io.UnsupportedEncodingException;
import jxl.WorkbookSettings;
public final class StringHelper {
private static Logger logger = Logger.getLogger(StringHelper.class);
public static byte[] getBytes(String s) {
return s.getBytes();
}
public static byte[] getBytes(String s, WorkbookSettings ws) {
try {
return s.getBytes(ws.getEncoding());
} catch (UnsupportedEncodingException e) {
return null;
}
}
public static byte[] getUnicodeBytes(String s) {
try {
byte[] b = s.getBytes("UnicodeLittle");
if (b.length == s.length() * 2 + 2) {
byte[] b2 = new byte[b.length - 2];
System.arraycopy(b, 2, b2, 0, b2.length);
b = b2;
}
return b;
} catch (UnsupportedEncodingException e) {
return null;
}
}
public static void getBytes(String s, byte[] d, int pos) {
byte[] b = getBytes(s);
System.arraycopy(b, 0, d, pos, b.length);
}
public static void getUnicodeBytes(String s, byte[] d, int pos) {
byte[] b = getUnicodeBytes(s);
System.arraycopy(b, 0, d, pos, b.length);
}
public static String getString(byte[] d, int length, int pos, WorkbookSettings ws) {
try {
byte[] b = new byte[length];
System.arraycopy(d, pos, b, 0, length);
return new String(b, ws.getEncoding());
} catch (UnsupportedEncodingException e) {
logger.warn(e.toString());
return "";
}
}
public static String getUnicodeString(byte[] d, int length, int pos) {
try {
byte[] b = new byte[length * 2];
System.arraycopy(d, pos, b, 0, length * 2);
return new String(b, "UnicodeLittle");
} catch (UnsupportedEncodingException e) {
return "";
}
}
public static final String replace(String input, String search, String replace) {
String fmtstr = input;
int pos = fmtstr.indexOf(search);
while (pos != -1) {
StringBuffer tmp = new StringBuffer(fmtstr.substring(0, pos));
tmp.append(replace);
tmp.append(fmtstr.substring(pos + search.length()));
fmtstr = tmp.toString();
pos = fmtstr.indexOf(search, pos + replace.length());
}
return fmtstr;
}
}