2011-03-08 59 views
0

我有這個基本程序工作,但它吐出了一個奇怪的答案。當我運行它,它給了我:用於Mac的Java文件輸入

{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 
{\fonttbl\f0\fswiss\fcharset0 
Helvetica;} 
{\colortbl;\red255\green255\blue255;} 
\margl1440\margr1440\vieww9000\viewh8400\viewkind0 
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural\pardirnatural 
\f0\fs24 
\cf0 
CIS 
260 
is 
cool.\ 
Let's 
put 
another 
sentence 
in 
here.\ 
Programming 
is 
problem 
driven.} 

*

import java.util.Scanner; 
import java.io.*; 

public class FileIO 
{ 

public static void main(String[] args) 
{ 

    File Fred = new File(System.getProperty("user.home"), "mytext.txt"); 
    try 
    { 

     Scanner input = new Scanner(Fred); 
     while (input.hasNext()) 
     { 
      System.out.println(input.next()); 
     }     

    } 

    catch(Exception e) 
    { 

     System.out.println(e); 

    } 

} 


} 

回答

3

你是如何創建mytext.txt?它看起來像你正在閱讀一個RTF文件,而不是一個平面文本文件。嘗試使用簡單的文本編輯器重新創建mytext.txt,然後重試。

+0

同意。我完全按照你在我的Mac上所寫的那樣嘗試了這個源代碼,它給了我預期的輸出。我甚至用不同的編碼(mac,unix,windows)保存了文件,但它被正確讀取。問題一定是mytext.txt保存爲RTF。 – Mirkules 2011-03-08 22:57:41

+0

謝謝。我沒有意識到,即使我將它作爲一個.txt文件讀取,但並未將其轉換爲一個。 – Mary 2011-03-08 23:05:00

1

它看起來像你的mytext.txt文件被保存爲富文本,而不是純文本,因此它包含格式信息以及實際內容。

將文本文件再次保存爲純文本,您應該得到預期的結果。

+0

非常感謝。 – Mary 2011-03-08 23:04:32