Java扫描仪阅读垃圾

use*_*r23 -2 java java.util.scanner

我正在使用java Scanner阅读文本文件.

try {
            while(sc.hasNextLine()) {
                //Read input from file
                inputLine = sc.nextLine().toUpperCase();
                System.out.println(inputLine);
}
Run Code Online (Sandbox Code Playgroud)

上面给出了下面的输出,而我的文本文件只包含"aabbcc".如何避免扫描仪扫描垃圾?谢谢.

{\RTF1\ANSI\ANSICPG1252\COCOARTF1265\COCOASUBRTF210
{\FONTTBL\F0\FSWISS\FCHARSET0 HELVETICA;}
{\COLORTBL;\RED255\GREEN255\BLUE255;}
\PAPERW11900\PAPERH16840\MARGL1440\MARGR1440\VIEWW10800\VIEWH8400\VIEWKIND0
\PARD\TX566\TX1133\TX1700\TX2267\TX2834\TX3401\TX3968\TX4535\TX5102\TX5669\TX6236\TX6803\PARDIRNATURAL

\F0\FS24 \CF0 AABBCC}
Run Code Online (Sandbox Code Playgroud)

Ema*_*l S 5

您正在阅读RTF文档.如果您只想阅读文本,可以尝试将其读入字节数组并使用swings rtfeditorkit解析文本.

Path path = Paths.get("path/to/file");
byte[] data = Files.readAllBytes(path);

RTFEditorKit rtfParser = new RTFEditorKit();
Document document = rtfParser.createDefaultDocument();
rtfParser.read(new ByteArrayInputStream(data), document, 0);
String text = document.getText(0, document.getLength());
Run Code Online (Sandbox Code Playgroud)