package com.string.test;
public class StringUtil {
/**
* @param originalString source string
* @param formatLength output string length
* @return String
* @author alex.wang
* @Date 2010-05-28
*/
public static String splitString(String originalString,int formatLength) {
if ( null == originalString ) {
return "";
}
byte[] strByte = originalString.getBytes();
int strLen = strByte.length;
int count = 0;
if ( formatLength <= 0) {
return "";
}
if ( formatLength >= strLen ) {
return originalString;
}
for ( int i = 0; i < formatLength; i++) {
int value = (int) strByte[i];
if ( value < 0) {
count++;
}
}
if ( count % 2 != 0 ) {
formatLength = (formatLength == 1) ? formatLength + 1 : formatLength - 1;
}
return new String(strByte, 0, formatLength);
}
public static String rightPadInvoiceString(String originalString, int formatLength, String padString) {
if ( null == originalString ) {
originalString = "";
}
originalString = originalString.replaceAll("\r", "");
originalString = originalString.replaceAll("\n", "");
String splitString = splitString(originalString,formatLength);
StringBuffer newStringBuf = new StringBuffer(splitString);
byte[] strByte = splitString.getBytes();
int strLen = strByte.length;
int stepLength = formatLength - strLen;
if ( stepLength > 0 ) {
for ( int i = 0; i < stepLength; i++ ) {
newStringBuf.append(padString);
}
}
return newStringBuf.toString();
}
public static void main(String[] arg) throws IOException {
String s = "aaas学位nhss位英语专区 学s位英语专区 学位英语专区"; ;
System.out.println(SettlementUtil.rightPadInvoiceString(s, 13, " "));
}
}
分享到:
相关推荐
在Java编程语言中,日期和时间的...理解并熟练运用这些知识点,你就能在Java项目中自如地处理日期和时间,进行格式化和解析,从而提高代码质量和可维护性。记得在实际编码过程中结合示例实践,这将有助于巩固你的理解。
在Java中,`java.text`包提供了用于格式化和解析日期、时间、数字和货币的工具。`SimpleDateFormat`类是常用的日期时间格式化类,可以自定义日期时间格式字符串,如"yyyy-MM-dd HH:mm:ss"。然而,`SimpleDateFormat`...
在Java编程语言中,字符串格式化是一个至关重要的概念,它涉及到如何有效地构建和展示文本信息。这个主题通常包括使用`String.format()`方法、`printf()`方法以及`StringBuilder`或`StringBuffer`类来构建动态字符串...
在IT行业中,尤其是在Java开发领域,日期和时间的处理是一项非常常见的任务。为了方便开发者更加直观地展示日期信息,如“几分钟前”或“几天前”,一个名为"marlonlom-timeago"的简单Java库应运而生。这个库的目标...
`:指定字符编码,这里使用的是UTF-8编码,以便正确处理中文等非英文字符。 11. `string result = encoding.GetString(mstream.ToArray());`:将MemoryStream中的数据转换为字节数组,再将其解码为字符串,即获得了...
### Java中文乱码问题详解 #### 一、中文问题的来源与背景 计算机技术发展初期,操作系统主要支持单字节的ASCII字符集。随着全球化进程加快和技术进步,为支持多种语言,尤其是双字节编码的语言(如中文),提出了...
在Java开发过程中,中文乱码问题是一个常见的困扰,尤其是在处理文本输入输出时。本文将深入探讨这个问题,并提供解决策略。 首先,我们需要理解字符编码的基本概念。字符编码是将字符(如汉字)转换为数字的过程,...
由于Java是一种跨平台的语言,因此在不同的操作系统之间存在编码格式的差异,这导致了在处理文本数据时经常会遇到字符显示错误的问题。本文旨在深入探讨Java中的编码格式,帮助开发者更好地理解和解决在开发过程中...
java.util.jar 提供读写 JAR (Java ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。 java.util.logging 提供 JavaTM 2 平台核心日志工具的类和接口。 java.util.prefs 此包允许应用程序...
4. **测试验证**:在开发过程中进行充分的测试,确保各种情况下都能正确处理中文字符。 #### 结论 Java中的中文编码问题是开发者在进行国际化或多语言支持应用开发时需要特别注意的一个方面。通过对编码格式的理解...
Java 国际化(i18n)是让软件能够适应不同语言和地区的过程,而中文乱码问题在处理多语言支持时经常遇到。`ResourceBundle` 是 Java 中用于管理国际化资源的关键类,它允许开发者存储特定语言环境下的文本、消息和...
JAVA 语言内部就是采用 Unicode 编码方式,我国的汉字也是双字节编码语言,有关专家制定了 GBK、GBK2312、GBK2K 等标准以便能在计算机中处理中文,因此,大多数定制含有中文的操作系统来满足中文处理的需求,它们...
如果你发现PDFBox在处理中文字符方面仍然存在问题,可以尝试使用Flying Saucer库,它基于HTML渲染,对于复杂的文本格式化和多语言支持更为友好。但是,这需要你的TXT文件是HTML格式的,或者你能将其转换为HTML。 ...
JAVA 1.6 API中文文档是Java开发者的重要参考资料,它详细介绍了Java 1.6版本中的各种类库、接口、方法以及异常等核心组件。CHM(Compiled Help Manual)格式是一种由微软开发的帮助文件格式,它将多个HTML页面、...
综上所述,"java编写的简单汉字系统"是一个涵盖Java基础、字符编码、输入输出、搜索排序等多个方面的项目,通过学习和理解这个系统,开发者可以深入了解Java处理汉字的机制,提升在中文环境下开发的能力。
1. **汉字转Unicode**:首先,需要将输入的汉字转换为对应的Unicode编码,这是Java处理汉字的基础。 2. **拼音映射**:利用Pinyin4j或其他类似库,根据Unicode编码查找对应的拼音信息。这个过程可能涉及到复杂的...
Java编程中的中文乱码问题是一个常见但棘手的挑战,主要源于编码格式的不匹配和转换过程中的错误。本文深入探讨了这个问题,并提供了解决方案。 首先,我们要理解中文字符编码的历史背景。早期的计算机系统主要支持...
1. **MessageFormat**:Java内置的格式化工具,支持复杂的字符串格式化,包括日期、数字和消息的国际化。 2. **I18N Lib**:开源库,提供了更方便的API来处理国际化,包括动态加载资源、自动处理编码转换等。 3. **...
在Java编程中,有时我们需要处理中文字符,并将其转换成特定格式。例如,我们可能希望将一个中文姓名转换成其拼音首字母的大写形式。这种需求在很多场景下都非常有用,比如创建用户名、构建索引等。本文将详细介绍...