Java在指定目录中创建文件,为啥输出不是C:\JavaTemp.javatemp? 文件名后面的数字是啥意思?求指点。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java在指定目录中创建文件,为啥输出不是C:\JavaTemp.javatemp? 文件名后面的数字是啥意思?求指点。相关的知识,希望对你有一定的参考价值。

import java.io.File;

public class Main
public static void main(String[] args)
throws Exception
File file = null;
File dir = new File("d:/");
file = File.createTempFile
("JavaTemp", ".javatemp", dir);
System.out.println(file.getPath());


文件名后面的数字是什么意思?为什么会生成这样?
输出结果如下:
已解决。

你这是创建临时文件,系统会自动加上一个随机数防止重复 参考技术A 这种问题最直接最好的办法直接看源码:
public static File createTempFile(String prefix, String suffix,
File directory)
throws IOException

if (prefix == null) throw new NullPointerException();
if (prefix.length() < 3)
throw new IllegalArgumentException("Prefix string too short");
String s = (suffix == null) ? ".tmp" : suffix;
if (directory == null)
String tmpDir = LazyInitialization.temporaryDirectory();
directory = new File(tmpDir, fs.prefixLength(tmpDir));

SecurityManager sm = System.getSecurityManager();
File f;
do
f = generateFile(prefix, s, directory);
while (!checkAndCreate(f.getPath(), sm));
return f;

private static File generateFile(String prefix, String suffix, File dir)
throws IOException

long n = LazyInitialization.random.nextLong();
if (n == Long.MIN_VALUE)
n = 0; // corner case
else
n = Math.abs(n);

return new File(dir, prefix + Long.toString(n) + suffix);


然后那串数字生成的源头:
return ((long)(next(32)) << 32) + next(32);本回答被提问者和网友采纳

如何在指定路径中创建目录?

我想创建目录。这是代码:

from os import mkdir

mkdir(*name of new directory*)

从终端运行时,这将在包含此python脚本的文件夹中创建目录。如何指定我想要创建新目录但仍有可能命名的路径?

答案
mkdir(*absolute path of new directory*)

所以,例如:

mkdir("c:/users/me/desktop/new_dir")  # for Windows
mkdir("/home/users/me/Desktop/new_dir") # for Linux
另一答案
import os
os.makedirs('/your/path/new_dir')
# Creating a new directory under current directory
path = os.getcwd()+'/new_dir'
os.makedirs(path)

以上是关于Java在指定目录中创建文件,为啥输出不是C:\JavaTemp.javatemp? 文件名后面的数字是啥意思?求指点。的主要内容,如果未能解决你的问题,请参考以下文章

为啥我在eclipse中创建的jsp项目,没有Java Resources这个文件夹

为啥要执行权限以及在 c(Linux) 中创建文件所需的写权限? [关闭]

ubuntu虚拟机中创建文件并读取文件到指定文件下

在目录中创建文件之前检查目录中的写访问权限

为啥我的符号链接没有链接,而是在我试图链接的目录中创建一个文件

当我尝试使用文件维度作为行和列在 C 中创建矩阵时,为啥会出现错误?