2011-03-08 52 views
2

我們現在正在學習編程類中的文件輸入和輸出,但我有一臺Macbook Pro。我知道如何做到這一點,我可以在Windows上做到這一點,但我無法準確地知道如何爲Mac做到這一點。我似乎無法弄清楚爲File'Fred = new File(「」)引用什麼內容。我需要在報價中加入什麼才能使其有效?我在名爲「David」的HDD中有該文件。用於Mac的Java文件輸入

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

public class FileIO 
{ 

public static void main(String[] args) 
{ 

    File Fred = new File("David:\\mytext.txt"); 
    try 
    { 
+8

*交叉手指,你不會得到一個'ImSorryDaveICantLetYouDoThatException' * – corsiKa 2011-03-08 20:07:43

回答

2

在Mac OS上,使用「/」(正斜槓)而不是「\」(反斜槓)分隔路徑中的文件。硬盤位於「/卷」下。所以你的文件可能是/Volumes/David/mytext.txt。

+0

謝謝。這工作,但現在它給我我想要的輸出以及一些其他的東西。 {\ RTF1 \ ANSI \ ansicpg1252 \ cocoartf1038 \ cocoasubrtf350 {\ fonttbl \ F0 \ fswiss \ fcharset0 黑體;} {\ 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 是 涼爽。\ 讓我們 把 另一 一句 在這裏 \ 編程 是 問題 驅動。} – Mary 2011-03-08 20:25:43

+0

您的文件是RTF(RTF格式)。使用TextEdit編輯它並使用TextEdit首選項默認爲純文本。 – 2011-03-08 23:04:01

1

new File("/");是您在MacOS文件系統中的根。

只要打開一個終端,cd到/和事情就會顯示給你。

1

您不會在Windows上使用相同類型的文件路徑字符串。 AFAIK您的Mac應該將文件路徑視爲與其他* nix操作系統相同,文件系統的「頂部」爲/而不是C:\

您還可以將文件定址爲相對路徑,而不是絕對路徑。如果您在./program/file.txt運行一些目錄./program Java程序,用你的文本文件,然後你的說法簡直是new File("file.txt");

5

不要使用「/」或「\」在所有 - 應該使用System.getProperty(「文件。分隔器」)。這會給你在當前操作系統上的正確字符。系統屬性將幫助您編寫出色的跨平臺代碼。檢查javadoc中的System.getProperties()。

例如,要在你的家目錄下創建文件 「file.txt」:

myfile文件=新的文件(System.getProperty( 「的user.home」), 「file.txt的」);

這將適用於OS X,Windows和Linux。

+1

/現在在所有主流平臺上得到普遍支持 – 2011-03-09 01:40:55

+0

+1這裏爲真正的防禦和安全編程提示。 – gandolf 2013-10-24 17:00:20

0

嘗試將文件從桌面拖動到終端頁面。這將爲您提供您需要輸入到Java程序中的確切路徑。還可以使用文本編輯的formatMake Plain Text以確保它以正確的形式被Java讀取。