今天有邮件让修改一批数据,格式如

胸泌科护站(即将删除)24080225

骨1科护站(即将删除)24080226

骨2科护站(即将删除)2408022A

急救中心外科护站(即将删除)2408022G

急救中心急诊科护站(即将删除)2408022H

处理时编号有用,也就是要截取后几位,因为编号长度是固定的,在UE中没找到办法,用sed ,awk 做shell应该也可以实现,后来想搞个java类来实现,跨平吧嘛,环境一般都有

代码如下

import java.io.*;

public class Substr{

public static void main(String[] args){

Substr sub = new Substr();

//sub.readFileByLines("c:\\a.txt",-8);

if(args.length==2){

sub.readFileByLines(args[0],Integer.parseInt(args[1]));

}else if(args.length==3){

sub.readFileByLines(args[0],Integer.parseInt(args[1]),Integer.parseInt(args[2]));

} else{

System.out.println("参数有误!");

}

}

private void readFileByLines(String fileName,int start,int length) {

File file = new File(fileName);

BufferedReader reader = null;

try {

reader = new BufferedReader(new FileReader(file));

String tempString = null;

String printStr = "";

while ((tempString = reader.readLine()) != null) {

if(tempString.length()>(start+length)){

printStr=tempString.substring(start, start+length);

}

System.out.println(printStr);

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

}

private void readFileByLines(String fileName,int start){

File file = new File(fileName);

BufferedReader reader = null;

try {

reader = new BufferedReader(new FileReader(file));

String tempString = null;

String printStr = "";

while ((tempString = reader.readLine()) != null) {

if(tempString.length()>Math.abs(start)){

if(start<0){

printStr = tempString.substring(tempString.length()+start, tempString.length());

}

}

System.out.println(printStr);

}

reader.close();

} catch (IOException e) {

e.printStackTrace();

} finally {

if (reader != null) {

try {

reader.close();

} catch (IOException e1) {

}

}

}

}

}

运行效果

C:\>java Substr "c:\a.txt" -8

24080225

24080226

2408022A

2408022B

2408022D

2408022F

24080222

C:\>java Substr "c:\a.txt" 2 10

科护站(即将删除)2

科护站(即将删除)2

科护站(即将删除)2

中心手术室(即将删除

中心内2科护站(即将

室(即将删除)240

打赏

8732971891f4ba05583674ca6b8145ac.png微信扫一扫,打赏作者吧~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐