web-dev-qa-db-ja.com

Javaでファイルを作成中にMac OS Xでファイルパスを提供するにはどうすればよいですか?

File f = new File("C:\\Temp\\Example.txt");
f.createNewFile();

実行すると、「Example.txt」という名前の新しいファイルがTempフォルダーに作成されます。 Mac OS Xでファイルパスを指定するにはどうすればよいですか?

私が提供しようとしました:

File f = new File("\\Users\\pavankumar\\Desktop\\Testing\\Java.txt");
f.createNewFile();

しかし、私にはうまくいきませんでした。

12
Pavan Kumar

ここでファイルパスを取得するには、スラッシュ「/」を使用する必要があります。使用する:

File f = new File("/Users/pavankumar/Desktop/Testing/Java.txt");
f.createNewFile();
16
Akash Rajbanshi

File.separatorを使用して、OSから独立してください。

String home = System.getProperty("user.home");
File f = new File(home + File.separator + "Desktop" + File.separator + "Testing" + File.separator + "Java.txt");

または、org.Apache.commons.io.FilenameUtils.normalizeを使用します。

File f = new File(FileNameUtils.normalize(home + "/Desktop/Testing/Java.txt"));

どちらも使用できます(2番目のオプションにはライブラリが必要です)

9
Spindizzy

File.separatorシステムに依存する定数で、Javaコードに移植性を提供するために使用する必要があります。

Linux、Mac OS X、およびその他の* nixフレーバーでは、フォルダー区切り記号は/ not \、したがって、何もエスケープする必要はありません、some/path/of/folders

また、/tmp一時ファイルのフォルダー。

最後に、* nixシステムでは、ホームディレクトリは通常~または環境変数HOMEにあります。

1
achedeuzot