我必须解析来自 TCP 连接的字节流,该连接应该只给我可打印的字符,但实际上并非总是如此。我在某些字段的开头和结尾看到了一些二进制零。我无法控制数据的来源,我需要处理“脏”行。如果我可以过滤掉无效字符,那就没问题了。相关代码如下:
srvr = new ServerSocket(myport);
skt = srvr.accept();
// Tried with no encoding argument too
in = new Scanner(skt.getInputStream(), "ISO-8859-1");
in.useDelimiter("[\r\n]");
for (;;) {
String myline = in.next();
if (!myline.equals(""))
ProcessRecord(myline);
}
我在每行有“污垢”的地方都有一个例外。什么是过滤掉无效字符同时仍然能够获取字符串的其余部分的好方法?