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();
}
}
final String path = "target/logs/";
final File logsDir = new File(path);
final boolean logsDirCreated = logsDir.mkdir();
if (!logsDirCreated) {
final boolean logsDirExists = logsDir.exists();
assertThat(logsDirExists).isTrue();
}
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");
}
}
}
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();
}
}
}
17条答案
按热度按时间djmepvbi1#
对于java 7及更高版本:
从createdirectories javadocs创建之前,似乎没有必要检查dir或文件的存在:
通过首先创建所有不存在的父目录来创建目录。与createdirectory方法不同,如果由于目录已经存在而无法创建该目录,则不会引发异常。attrs参数是在创建不存在的目录时以原子方式设置的可选文件属性。每个文件属性都由其名称标识。如果数组中包含多个同名属性,则会忽略除最后一个之外的所有属性。
如果此方法失败,那么它可能会在创建一些(但不是全部)父目录后执行此操作。
ippsafx72#
为了在java中创建目录/文件夹,我们有两种方法
这里makedirectory方法创建一个不存在的目录。
和
这里makedirectories方法将创建文件对象所表示的路径中缺少的所有目录。
例如,请参阅下面的链接(解释得很好)。希望有帮助!!https://www.flowerbrackets.com/create-directory-java-program/
vkc1a9a23#
创建单个目录。
创建一个名为“directory2”的目录及其所有子目录“sub2”和“sub-sub2”。
资料来源:这个完美的教程,你还可以找到一个使用的例子。
7z5jn7bk4#
下面的方法应该做您想做的事情,只是确保您正在检查mkdir()/mkdirs()的返回值
xtupzzrd5#
7年后,我将更新它,以更好的方法,这是波佐建议。
6tqwzwtp6#
你可以试试fileutils#forcemkdir
这个图书馆有许多有用的功能。
70gysomp7#
如果要确保其已创建,请执行以下操作:
因为
mkDir()
返回一个布尔值,如果您不使用该变量,findbugs将为此哭泣。也不太好。。。mkDir()
仅当mkDir()
创造它。如果dir存在,则返回false,因此要验证您创建的dir,只需调用exists()
如果mkDir()
返回false。assertThat()
将检查结果,如果exists()
返回false。ofc您可以使用其他东西来处理未创建的目录。kmynzznz8#
这里“directory”是您要创建/存在的目录的名称。
gpfsuwkq9#
此函数允许您在用户主目录上创建目录。
crcmnpdw10#
只是想告诉所有打电话的人
File.mkdir()
或者File.mkdirs()
要小心File
对象是目录而不是文件。例如,如果你打电话mkdirs()
为了这条路/dir1/dir2/file.txt
,它将创建一个名为file.txt
这可能不是你想要的。如果要创建新文件,并且还希望自动创建父文件夹,可以执行以下操作:yruzcnhs11#
mkdir与mkdirs
如果要创建单个目录,请使用
mkdir
```new File("/path/directory").mkdir();
kxxlusnw12#
这种工作方式为我做一个或多个目录或它们:需要导入java.io.file;
/输入下面的代码添加一个目录dir1,或者检查dir1是否存在,如果不存在,那么创建它并与dir2和dir3相同/
nafvub8i13#
使用Java7,您可以
Files.createDirectories()
.例如:
ergxz8rk14#
尽管这个问题已经得到了回答。我想放一些额外的东西,例如,如果有一个文件存在的目录名,你试图创建比它应该提示一个错误。为未来的游客。
qyuhtwio15#