我开始编写一个可以解析旧式 .vmg 文件*的脚本。我想从扫描仪实用程序开始,这样我就可以一开始将消息一一剔除。这就是我得到的。
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Strip {
public static void main(String[] args)
{
try
{
File file = new File("all.vmg");
Scanner sc = new Scanner(file);
// sc.useDelimiter("BEGIN:VMSG");
while (sc.hasNext())
{
String string = sc.next();
System.out.println(string);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
它编译并运行良好。虽然它不会打印出任何东西。首先,我使用了现在已注释的分隔符。然后觉得可能有问题。所以现在它只使用它的默认空白分隔符。但是无论如何都没有要打印的行。我不得不猜测的是,由于某种原因,hasNext 的评估结果不正确?* .vmg 文件是一般格式的文本文件
BEGIN:VMSG
VERSION:1.1
X-IRMC-STATUS:
X-IRMC-BOX:INBOX
X-NOK-DT:20110224T215100Z
X-MESSAGE-TYPE:DELIVER
BEGIN:VCARD
VERSION:3.0
N:
TEL:+37999999999
END:VCARD
BEGIN:VENV
BEGIN:VBODY
Date:24.02.2008 21:51:00
Sample mobile text message
END:VBODY
END:VENV
END:VMSG
我还尝试为脚本提供其他几个没有打印出来的简单文本文件。