从mac读取文件时输出错误

时间:2013-10-27 20:37:47

标签: java macos filereader

我正在尝试从mac OS读取文件。

代码和一切都是正确的。运行程序时没有错误。 然而,结果是带有额外的数据以及实际文件中的数据。

其实我的文件包含: 夫人 RAJ 内存 DEVI 塞塔

但结果是这样的。

{\rtf1\ansi\ansicpg1252\cocoartf1265
{\fonttbl\f0\fnil\fcharset0 Monaco;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720

\f0\fs22 \cf0 MADAM\
RAJ\
RAM\
DEVI\
SEETHA}

这是代码。

public static void main(String args[]) throws IOException{
        BufferedReader br = null;

        try {

            String sCurrentLine;

            br = new BufferedReader(new FileReader("/Users/satyanarayanagudivada/Desktop/New.txt.rtf"));

            while ((sCurrentLine = br.readLine()) != null) {
                System.out.println(sCurrentLine);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (br != null)br.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        } 

1 个答案:

答案 0 :(得分:1)

您正在阅读RTF (Rich Text Format)文件。它 包含所有数据 - 只是如果你在一个将RTF理解为格式的编辑器中打开它,它将使用信息为你格式化文本而不是逐字显示。这就像查看网页的来源而不是渲染的版本。

要自己证明这一点,请从终端窗口运行:

cat /Users/satyanarayanagudivada/Desktop/New.txt.rtf

目前尚不清楚文件的来源,但您可能只想将其保存为“纯文本”而不​​是“格式化文本”。