Как создать каталог/папку?
Как только я проверил System.getProperty("user.home");
Мне нужно создать каталог (имя каталога "новая папка" ), если и только если новая папка не существует.
Как создать каталог/папку?
Как только я проверил System.getProperty("user.home");
Мне нужно создать каталог (имя каталога "новая папка" ), если и только если новая папка не существует.
File theDir = new File("new folder");
// if the directory does not exist, create it
if (!theDir.exists()) {
System.out.println("creating directory: " + theDir.getName());
boolean result = false;
try{
theDir.mkdir();
result = true;
}
catch(SecurityException se){
//handle it
}
if(result) {
System.out.println("DIR created");
}
}
new File("/path/directory").mkdirs();
Здесь "каталог" - это имя каталога, который вы хотите создать/существующего.
С помощью Java 7 вы можете использовать Files.createDirectories()
.
Например:
Files.createDirectories(Paths.get("/path/to/directory"));
Вы можете попробовать FileUtils # forceMkdir
FileUtils.forceMkdir("/path/directory");
В этой библиотеке есть много полезных функций.
Если вы хотите создать единый каталог, используйте mkdir
new File("/path/directory").mkdir();
Если вы хотите создать иерархию структуры папок, используйте mkdirs
new File("/path/directory").mkdirs();
Создайте единый каталог.
new File("C:\\Directory1").mkdir();
Создайте каталог с именем "Directory2" и все его подкаталоги "Sub2" и "Sub-Sub2" вместе.
new File("C:\\Directory2\\Sub2\\Sub-Sub2").mkdirs()
Источник: этот идеальный tuto, вы также найдете пример использования.
Следующий метод должен делать то, что вы хотите, просто убедитесь, что вы проверяете возвращаемое значение mkdir()/mkdirs()
private void createUserDir(final String dirName) throws IOException {
final File homeDir = new File(System.getProperty("user.home"));
final File dir = new File(homeDir, dirName);
if (!dir.exists() && !dir.mkdirs()) {
throw new IOException("Unable to create " + dir.getAbsolutePath();
}
}
Хотя на этот вопрос был дан ответ. Я хотел бы добавить что-то лишнее, т.е. если существует файл с именем каталога, которое вы пытаетесь создать, чем запрос на ошибку. Для будущих посетителей.
public static void makeDir()
{
File directory = new File(" dirname ");
if (directory.exists() && directory.isFile())
{
System.out.println("The dir with name could not be" +
" created as it is a normal file");
}
else
{
try
{
if (!directory.exists())
{
directory.mkdir();
}
String username = System.getProperty("user.name");
String filename = " path/" + username + ".txt"; //extension if you need one
}
catch (IOException e)
{
System.out.println("prompt for error");
}
}
}
Для java 7 и вверх:
Path path = Paths.get("/your/path/string");
if(!Files.exists(path)) {
try {
Files.createDirectories(path);
} catch (IOException e) {
e.printStackTrace();
}
}
Просто хотел указать всем, кто звонит File.mkdir()
или File.mkdirs()
, чтобы быть осторожным, чтобы объект File
был каталогом, а не файлом. Например, если вы вызываете mkdirs()
для пути /dir1/dir2/file.txt
, он создаст папку с именем file.txt
, которое, вероятно, не то, что вы хотели. Если вы создаете новый файл и хотите автоматически создавать родительские папки, вы можете сделать что-то вроде этого:
File file = new File(filePath);
if (file.getParentFile() != null) {
file.getParentFile().mkdirs();
}
попробуйте с этим.
import java.io.File;
public class MakingDirectory {
public static void main(String[] args) {
String s="d:\\msreddy\\sample1";
File file=new File(s);
file.mkdirs();
}
}
для получения дополнительной информации см. это.
Чистый и чистый:
import java.io.File;
public class RevCreateDirectory {
public void revCreateDirectory() {
File file = new File("D:\\Directory1");
if (!file.exists()) {
if (file.mkdir()) {
System.out.println("Directory is created!");
} else {
System.out.println("Failed to create directory!");
}
}
File files = new File("D:\\Directory2\\Sub2\\Sub-Sub2");
if (!files.exists()) {
if (files.mkdirs()) {
System.out.println("Multiple directories are created!");
} else {
System.out.println("Failed to create multiple directories!");
}
}
}
}
Этот способ работы для меня делает одну директорию или больше или их:
нужно импортировать java.io.File;
/* введите код ниже, чтобы добавить diectory dir1 или проверить, существует ли dir1, если нет, поэтому создайте его так же, как и dir2 и dir3 */
File filed = new File("C:\\dir1");
if(!filed.exists()){ if(filed.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); }
File filel = new File("C:\\dir1\\dir2");
if(!filel.exists()){ if(filel.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); }
File filet = new File("C:\\dir1\\dir2\\dir3");
if(!filet.exists()){ if(filet.mkdir()){ System.out.println("directory is created"); }} else{ System.out.println("directory exist"); }
Ну, чтобы создать каталог/папку в java, у нас есть два метода
Здесь метод makedirectory создает отдельный каталог, если он не существует.
File dir = new File("path name");
boolean isCreated = dir.mkdir();
и
File dir = new File("path name");
boolean isCreated = dir.mkdirs();
Здесь метод makedirectories создаст все каталоги, отсутствующие в пути, который представляет объект файла.
Например, см. ссылку ниже (объяснено очень хорошо). Надеюсь, поможет!! http://www.flowerbrackets.com/create-directory-java-program/
Эта функция позволяет вам создать каталог в домашнем каталоге пользователя.
private static void createDirectory(final String directoryName) {
final File homeDirectory = new File(System.getProperty("user.home"));
final File newDirectory = new File(homeDirectory, directoryName);
if(!newDirectory.exists()) {
boolean result = newDirectory.mkdir();
if(result) {
System.out.println("The directory is created !");
}
} else {
System.out.println("The directory already exist");
}
}
public class Test1 {
public static void main(String[] args)
{
String path = System.getProperty("user.home");
File dir=new File(path+"/new folder");
if(dir.exists()){
System.out.println("A folder with name 'new folder' is already exist in the path "+path);
}else{
dir.mkdir();
}
}
}
Вы также можете ссылаться на makdir() для создания нового каталога в папке, в которой вы хотите.