在漫游目录中创建文件

时间:2016-08-14 03:37:15

标签: java file directory mkdir

我一直在尝试在任何目录中创建一个ANYWHERE文件时遇到很多麻烦,而且我没有运气。

@SuppressWarnings("resource") //Install the modpack and create files
public void installModpack(){
    File f = new File("\\ultima");
    f.mkdirs();
}

这是堆栈跟踪:

C:\Users\Drew\AppData\Roaming
java.io.IOException: The system cannot find the path specified
    at java.io.WinNTFileSystem.createFileExclusively(Native Method)
    at java.io.File.createNewFile(Unknown Source)
    at ultima.launcher.Ultima.installModpack(Ultima.java:299)
    at ultima.launcher.Ultima$6.mouseClicked(Ultima.java:252)
    at java.awt.AWTEventMulticaster.mouseClicked(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$500(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.awt.EventQueue$4.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

2 个答案:

答案 0 :(得分:0)

堆栈跟踪与您问题中的代码不匹配。 stacktrace表示installModpack正在调用File.createNewFile,但在您的代码中没有此类调用。

异常消息似乎在说它正在尝试创建" C:\ Users \ Drew \ AppData \ Roaming",或者在该目录中创建一个文件。这与路径名" \ ultima"不匹配您显然正在尝试使用它。

如果没有看到实际的代码,我们无法告诉您真正的解决方案是什么,但我会:

  1. 检查是否" C:\ Users \ Drew \ AppData \ Roaming"使用其他工具存在。

  2. 检查源代码和/或使用调试器运行代码,找出您实际使用的installModpack方法。

答案 1 :(得分:0)

我自己回答了这个问题。我稍后在代码中遇到的一些代码搞砸了:p 正在寻找的任何人的正确用法是:     文件f =新文件(System.getenv(“APPDATA”)+“/。multima”);     f.mkdirs();