Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
284 views
in Technique[技术] by (71.8m points)

java.util.scanner - Java scanner reading garbage

I am reading a text file using java Scanner.

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

The above gives below output while my text file only includes "aabbcc". How to avoid scanner from scanning the garbage? Thanks.

{RTF1ANSIANSICPG1252COCOARTF1265COCOASUBRTF210
{FONTTBLF0FSWISSFCHARSET0 HELVETICA;}
{COLORTBL;RED255GREEN255BLUE255;}
PAPERW11900PAPERH16840MARGL1440MARGR1440VIEWW10800VIEWH8400VIEWKIND0
PARDTX566TX1133TX1700TX2267TX2834TX3401TX3968TX4535TX5102TX5669TX6236TX6803PARDIRNATURAL

F0FS24 CF0 AABBCC}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You are reading a RTF Document. If you want to read the text only you can try reading it into a byte array and parsing out the text using 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());

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...