Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于终止符的消息拆分_Java - Fatal编程技术网

Java 基于终止符的消息拆分

Java 基于终止符的消息拆分,java,Java,我有一个示例消息文件。我必须将H到L | 1 | N的消息拆分为一条消息。这里把两条消息合并成一个文件。我想将每条消息放入字符串[]。 我怎么做 我试过这样的方法,但没有成功 int beginIndex = eao.getBeginIndex(); int endIndex = MsgValidator.getTerminaterIndex(content) + 1; logger.info("beginIndex:: "+beginIndex); logger.info("endIndex

我有一个示例消息文件。我必须将H到L | 1 | N的消息拆分为一条消息。这里把两条消息合并成一个文件。我想将每条消息放入字符串[]。 我怎么做

我试过这样的方法,但没有成功

int beginIndex = eao.getBeginIndex();
int endIndex = MsgValidator.getTerminaterIndex(content) + 1;

logger.info("beginIndex:: "+beginIndex);
logger.info("endIndex:: "+endIndex);
if (endIndex > beginIndex) {
    String subContent = content.substring(beginIndex, endIndex-1);
    // need help
}
示例消息::

H|\^&|||Becton Dickinson|||||||| V1.00 |19981019184200
P|1||PatId123
O|1|Acc123||^^^MGIT_960_AST
R|1|^^^AST_MGIT^439400001234^P^0.5^ug/ml|
INST_COMPLETE^105^^S||||||||19981019153400|19981020145000|
MGIT960^^42^3^ B/A13
L|1|N
H|\^&|||Becton Dickinson|||||||| V1.00 |19981019184200
P|1||PatId123
O|1|Acc123||^^^MGIT_960_AST
R|1|^^^AST_MGIT^439400001234^P^0.5^ug/ml|
INST_COMPLETE^105^^S||||||||19981019153400|19981020145000|
MGIT960^^42^3^ B/A13

L|1|N
我找到了解决办法:

if (endIndex > beginIndex) {
    String subContent = content.substring(beginIndex, endIndex - 1);
    String[] messages = subContent.split("L\\|1\\|N");
    logger.info("message :: " + messages.length);
}

也许只是用旧的简单工具(inputstream->bufferedreader->filereader)解析这个txt文件。然后按行解析txt,如果(第一个字符H |->开始消息),如果行等于L | 1N,则消息结束。。。或者如果你想使用你提到的东西(MsgValidator,eo),我认为需要更多的代码…我需要计算文件中有多少完整的消息?完整的消息意味着从H开始,到L | 1 | N结束