Java 如何根据登录参数和日期时间戳生成具有目录和文件名的目录结构?
我有一个方法,它接受诸如Java 如何根据登录参数和日期时间戳生成具有目录和文件名的目录结构?,java,Java,我有一个方法,它接受诸如hostName,userName等参数。 我通过添加最近的时间来创建文件名。 我想在系统中创建一个文件,其中包括格式/hostName/userName/fileName,以便登录的用户使用自己的凭据在自己的目录中创建一个文件,用户目录包含他们的域和用户名。目录/hostName/userName中有一个名为fileName的文件。例如: User1:/windows/User1/201512110309.txt public File getDirectoryA
hostName
,userName
等参数。
我通过添加最近的时间来创建文件名。
我想在系统中创建一个文件,其中包括格式/hostName/userName/fileName
,以便登录的用户使用自己的凭据在自己的目录中创建一个文件,用户目录包含他们的域和用户名。目录/hostName/userName
中有一个名为fileName的文件。例如:
User1:/windows/User1/201512110309.txt
public File getDirectoryAndFileName(String hostName, String userName) {
String fileName = new SimpleDateFormat("yyyyMMddhhmm'.txt'").format(new Date());
File file = new File(hostName + userName + fileName);
return file;
}
User2:/ubuntu/User2/2015121111210.txt
public File getDirectoryAndFileName(String hostName, String userName) {
String fileName = new SimpleDateFormat("yyyyMMddhhmm'.txt'").format(new Date());
File file = new File(hostName + userName + fileName);
return file;
}
您可以这样做:
public File createFileStructure(hostName, userName) {
File baseUserDirectory = new File(hostName, userName);
String userFileNameToBeCreated = "yyyyMMddHHmm.txt";
if(!baseUserDirectory.exists()) {
if(!baseUserDirectory.mkdirs()) {
throw new IllegalStateException("The base user directory does not exist and could not be created: "
+ baseUserDirectory);
}
}
if(baseUserDirectory.isDirectory ()) {
throw new IllegalStateException("The base user directory is not a directory: " + baseUserDirectory);
}
//till here you will be sure that your user Directory exists.
return new File(baseUserDirectory, userFileNameToBeCreated);
}
你只需要以你想要的格式获取日期 谢谢@recursingMe。我用下面的方法实现
public static void getFile(String hostName, String userName) throws IOException {
hostName = "/" + hostName;
userName = "/" + userName;
File baseUserDirectory = new File(hostName, userName);
baseUserDirectory.mkdirs();
String fileName = new SimpleDateFormat("yyyyMMddhhmm'.txt'").format(new Date());
File file = new File(baseUserDirectory, fileName);
file.createNewFile();
}
文件可能重复。createDirectories(path.get(主机名,用户名))
应该可以。@SamB。这怎么可能是重复?我正在从一个字符串变量创建一个目录,该字符串变量将太多的变量和参数传递到该方法中。我甚至创建了一个新的字符串名,并将其添加到路径名中,这也是一个变量,最后将其作为路径名传递给文件构造函数。本质上,这正是Sam.B发布的内容,而不是使用硬集,您将使用您创建的变量来执行此操作。