プロが教える店舗&オフィスのセキュリティ対策術

macでのファイル場所指定
javaで指定したファイルやディレクトリを操作したいのですが、上手くいきません。

ディレクトリの場所をプロパティで確認したところ、
/Users/herobushi/Documents/workspace/test1/
にあることが分かったので

String inputdirectory ="/Users/herobushi/Documents/workspace/test1/";

としたのですが、ディレクトリが見つからない、というエラーが出てしまします。
java上で指定する場合何か別の表記方法があるのでしょうか?

回答をよろしくお願いいたします。

A 回答 (3件)

質問者がディレクトリに対する処理をどんなコードで行ったかの情報が無いのであまり助言はできない。


手元のMacでは、

String directory = "/Users/hoge/Documents/";
System.out.println(new java.io.File(directory).exists());

でtrueが表示されるので存在していることは"/Users/hoge/Documents/"のような表記をFileクラスに与えて確認できる。
ただし、hogeはユーザ名のプレースホルダで、こちらではDocuments下に自分ではディレクトリを作成していないのでここまでの表記(システムが作ったドットで始まるディレクトリは存在するが)。

どういったコードを書いてどんなエラーが出たのかの詳細があればもう少し回答がつくのでは?
少なくとも質問のような表記でディレクトリが表せていないことはないので、
存在していれば「見つからない」というエラーは出ないと思う。

この回答への補足

回答ありがとうございます。
Windowsで作成したプロジェクトをMacに持ってきてそのまま使おうとしたのですが、

String directory = "/Users/hoge/Documents/";
System.out.println(new java.io.File(directory).exists());

を個別のクラスtestを用意して実行したら、

NoClassDefFoundError: test

というエラーが出てしまいました。
どうやら違うところで問題があるようです。

調べなおして分からなかったらまた質問させていただきます。
よろしくお願いします。

補足日時:2010/07/31 15:14
    • good
    • 0

ごめんごめん よく確認しないままだったよ


確かに /Users は有るみたいだね。

でもこれ、OSの起動diskにある階層を / にしてるから もしかしたら正規の経路にしたら通ったりしてね

/Users → /Volumes/Macintosh HD/Users (空白が含まれてる事に注意)

でもまぁ ログオンユーザなら ~ で取れると思うよ。
言ってる意味がわからないなら `ls ~`

ただ、javaの表記でチルダた使えるのかというのはまた別の話かも・・・
    • good
    • 0

ターミナルを起動して



ls /

ってやってごらん。Usersなんてディレクトリ、無い筈だから。
そういうのは「~」を使うんじゃないのかな。

この回答への補足

回答ありがとうございます。
ls / を実行したところ、
ApplicationやらLibraryなどと一緒にUsersというのがありますね。。
「~」を使う場合どういう表記方法になるのでしょうか?

補足日時:2010/07/31 13:07
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!