私のプログラムとは別のディレクトリに(それぞれ)テキストファイルを読み書きしたいと考えています。書き込みまたは読み取りを行うディレクトリを指定する場合、ファイルパスの識別にスラッシュまたはバックスラッシュを使用する必要がありますか?
スラッシュを使用すると、システムに依存しなくなります。簡単にするために、これに固執します。
Java.io.File.separator
ユーザーへのパスを表示する場合。それらのWindowsユーザーを驚かしたくないでしょう。彼らはびくびくしています。
どちらでも使用できます。
_/
_を使用する場合、スラッシュは1つだけ必要です。
_\
_を使用する場合は、_\\
_を使用する必要があります。つまり、それをエスケープする必要があります。
_Java.nio.Path
_クラスのresolve()
メソッドを使用して、既存のパスにディレクトリ/ファイルを追加することもできます。これにより、スラッシュやバックスラッシュを使用する手間が省けます。次に、toAbsolutePath()
メソッドを呼び出し、その後にtoString()
を呼び出すことで、絶対パスを取得できます。
SSCCE:
_import Java.nio.file.Path;
import Java.nio.file.Paths;
public class PathSeperator {
public static void main(String[] args) {
// the path seperator for this system
String pathSep = System.getProperty("path.separator");
// my home directory
Path homeDir = Paths.get(System.getProperty("user.home"));
// lets print them
System.out.println("Path Sep: " + pathSep);
System.out.println(homeDir.toAbsolutePath());
// as it turns out, on my linux it is a colon
// and Java is using forward slash internally
// lets add some more directories to the user.home
homeDir = homeDir.resolve("Eclipse").resolve("configuration");
System.out.println("Appending more directories using resolve()");
System.out.println(homeDir);
}
}
_
/を使用する必要があります
たとえば、C:/ User/...