2011-03-08 51 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读取。