在Java中,在尝试创建文件对象时,是否可以使用通配符指定目录?
File newFile = new File("\temp\*\path");
在这种情况下,目录是由我无权访问的其他代码部分创建的,这会在名称中添加时间戳。所以如果我可以用*代替时间戳,问题就会解决,比如
File newFile = new File("\temp\dirname-*\path"); // * is timestamp when directory was created.
感谢您的帮助。
答案 0 :(得分:1)
如果你是一名程序员,你应该知道“我确信在那个地方存在一个目录”这样的陈述是真的,直到它们是假的(并且他们将在某一点)。
查看\temp\
的工作,确认只有一个目录,然后使用正确的路径打开文件。然后,当前提条件不为真时,您可以抛出异常或显示消息。
答案 1 :(得分:1)
无法按照您的描述创建它。但是,可以编写算法来搜索符合描述的文件。在您的情况下,您可能希望创建一个new File("temp")
,然后递归搜索其子项(对于listFiles
方法返回true的任何文件,使用isDirectory
)查找名为{{的文件1}}。
答案 2 :(得分:0)
不可以,在Java中的文件名中不能使用通配符。
您需要自己解决路径,但这并不困难。
您可能会找到
new java.io.File("/tmp").listFiles();
一个有趣的起点。