我知道如何使用特定路径在Java中创建文件 我想在项目的源文件夹中创建文件而不指定驱动器,因为它可以从PC更改为PC。
我试图使用:
File targetFile = new File("/src/SavedGames/uploadedFile.xml");
targetFile.createNewFile();
在' src':
之前加点File targetFile = new File("./src/SavedGames/uploadedFile.xml");
targetFile.createNewFile();
\\
:
File targetFile = new File("\\src\\SavedGames\\uploadedFile.xml");
targetFile.createNewFile();
它不起作用,它会抛出异常。
这个可以在我的Apache服务器文件夹上创建它:
File targetFile = new File("uploadedFile.xml");
targetFile.createNewFile();
这是层次结构:
代码在 LoadGameServlet.java
上运行答案 0 :(得分:0)
即使在创建实际文件之前,您也可以使用类似System.out.println(targetFile.getAbsolutePath())
的内容来调试文件的创建位置。
答案 1 :(得分:0)
经过大量搜索,我发现了一种方法。
File targetFile = new File(new File(LoadGameServlet.class.getProtectionDomain().getCodeSource().getLocation().getPath()).getParent() + "\\uploadedFile.xml");
String decoderPath = java.net.URLDecoder.decode(targetFile.getPath(), "UTF-8");
String newPath = decoderPath .replaceAll("build\\\\web\\\\WEB-INF\\\\classes\\\\Servlets", "src\\\\java\\\\SavedGames");
targetFile = new File(newPath);
targetFile.createNewFile();
我检查了它,它工作正常。
感谢您的帮助。