This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/util/ToUppercaseUtil.java

79 lines
2.1 KiB
Java

/**
*@Title: ToUppercaseUtil.java
*@Package com.nis.util
*@Description TODO
*@author dell
*@date 2018年6月28日 下午1:39:46
*@version 版本号
*/
package com.nis.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @ClassName: ToUppercaseUtil.java
* @Description: 替换message_zh_CN.properties的ascii符号由小写至大写
* @author (wx)
* @date 2018年6月28日 下午1:39:46
* @version V1.0
*/
public class ToUppercaseUtil {
public static void main(String[] args) {
File file=new File("C:/Users/dell/git/gwall/src/main/resources/messages/message_zh_CN.properties");
try {
RandomAccessFile raf=new RandomAccessFile(file, "rw");
long lastPoint=0;
String line=null;
while((line=raf.readLine())!=null){
if(line.startsWith("#")){
lastPoint=raf.getFilePointer();
continue;
}else{
if(StringUtils.isNotBlank(line)){
String oldline=line;
String[] split=line.split("=");
String expression="\\\\u[0-9a-f]{4}";
Pattern p=Pattern.compile(expression);
Matcher matcher=p.matcher(split[1]);
while(matcher.find()){
String ascii=matcher.group();
String newAscii="\\u"+ascii.substring(2).toUpperCase();
if(!ascii.equals(newAscii)){
line=line.replace(ascii, newAscii);
}
}
final long point=raf.getFilePointer();
if(line.equals(oldline)){
lastPoint=point;
continue;
}else{
raf.seek(lastPoint);
System.out.println("replace "+oldline+" with "+line);
raf.write(line.getBytes());
lastPoint=point;
}
}else{
lastPoint=raf.getFilePointer();
continue;
}
}
}
raf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}