Java の File.separator と new File()
このチュートリアルでは、ファイルへのパスを作成するための 3 つの例を見ていきます:
- File.separator または System.getProperty("file.separator")
- File file = new File(path, filename)
- パスを手動で作成する(非推奨)
File.separator
これは、File.separatorまたはSystem.getProperty("file.separator") を使用してパスを作成する従来の方法です。どちらも、使用されているオペレーティングシステムをチェックし、ファイルパスを正しく返します(例:
1)。Windows = \
2 です。Unixの;LinuxまたはMac = /
import java.io.File;
import java.io.IOException;
public class FileSeparator {
public static void main(String[] args) {
try {
String filename = "nouveau_fichier.txt";
文字列 currentdirectory= System.getProperty("user.dir");
文字列 absoluteFilePath = "";
absoluteFilePath = currentdirectory + File.separator + filename;
System.out.println("絶対パス: " + absoluteFilePath);
ファイル file = new File(absoluteFilePath);
if (file.createNewFile()) {
System.out.println("ファイルが作成されました!");
} else {
System.out.println("ファイルはすでに存在します。");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Output:
絶対パス: C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txt
File created!
new File()
new File()を呼び出すと、ファイルのパスを構築することもできます.
import java.io.File;
import java.io.IOException;
public class NewFile {
public static void main(String[] args) {
try {
String filename = "nouveau_fichier.txt";
文字列 currentdirectory = System.getProperty("user.dir");
ファイル file = new File(currentdirectory, filename);
System.out.println("パス: " + file.getAbsolutePath());
if (file.createNewFile()) {
System.out.println("ファイルが作成されました!");
} else {
System.out.println("ファイルはすでに存在します。");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Output:
パス: C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txt
File already exists.
パスを手動で構築する
このメソッドは避けるべきであり、ここではパスを構築するすべての方法を示すために示します.
http://java.sun.com/javase/6/docs/api/java/io/File.html
import java.io.File;Output:
import java.io.IOException;
public class NewFile {
public static void main(String[] args) {
try {
String filename = "nouveau_fichier.txt";
文字列 currentdirectory = System.getProperty("user.dir");
文字列 AbsolutePath = "";
string os = System.getProperty("os.name").toLowerCase();
if (os.indexOf("win") >= 0) {
//windows
Absolutepath = currentdirectory + "\\" + filename;
} else if (os.indexOf("nix") >= 0 ||
os.indexOf("nux") >= 0 ||
os.indexOf("mac") >= 0) {
//unix または mac の場合
AbsolutePath = currentDirectory + "/" + filename;
}else{
//OS が見つかりません
AbsolutePath = currentdirectory + "/" + filename;
}
System.out.println("パス: " + AbsolutePath);
ファイル file = new File(AbsolutePath);
if (file.createNewFile()) {
System.out.println("ファイルが作成されました");
} else {
System.out.println("ファイルはすでに存在します");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
パス: C:\Documents and Settings\Poste07\workspace\File\nouveau_fichier.txtResources:
File already exists.
http://java.sun.com/javase/6/docs/api/java/io/File.html