File.separator и новый File() в Java
В этом руководстве мы рассмотрим три примера построения пути к файлу:
- File.separator или System.getProperty("file.separator")
- File file = new File(путь, имя файла)
- Создать путь вручную (не рекомендуется)
File.separator
Это классический способ построения пути с помощью File.separator или System.getProperty("file.separator"). Оба проверят используемую операционную систему и правильно вернут путь к файлу, например:
1. Windows = \
2. Юникс; 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";
String currentdirectory= System.getProperty("user.dir");
Строка absoluteFilePath = "";
absoluteFilePath = currentdirectory + File.separator + filename;
System.out.println("Абсолютный путь: " + absoluteFilePath);
Файл файла = новый 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
Файл создан!
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 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
Файл уже существует.
Постройте путь вручную
Этого метода следует избегать, здесь мы покажем вам только для того, чтобы показать все способы построения пути.
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) {
//if 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 not found
AbsolutePath = currentdirectory + "/" + filename;
}
System.out.println("Путь: " + AbsolutePath);
Файл файла = новый файл(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:
Файл уже существует.
http://java.sun.com/javase/6/docs/api/java/io/File.html