gpt4 book ai didi

java - WIN7中使用Java将JSON写入分包中的文件中

转载 作者:行者123 更新时间:2023-12-01 11:51:54 27 4
gpt4 key购买 nike

我在一个名为 com.project.test 的包中有一个 Java 类,我想在名为 Output.json 的文件中写入一些 JSON,该文件位于在名为 com.project.test.sources 的子包中。

这是我尝试过的代码:

        String gsonGraphe = gson.toJson(graphe); /* This is the JSON code to write */
File file = new File("sources/Output.json");
if (!file.exists()) {
file.createNewFile();
}
FileWriter writer = new FileWriter(file.getAbsoluteFile());
BufferedWriter bufferedWriter = new BufferedWriter(writer);
bufferedWriter.write(gsonGraphe);
bufferedWriter.close();

它给了我这个错误消息:

Exception in thread "main" java.io.IOException: Specified access path not found
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at com.neo4j.test.auteurPays.AuteurPays.main(AuteurPays.java:145)

当我尝试: File file = new File("/sources/Output.json");File file = new File("sources\\Output.json");File file = new File("\\sources\\Output.json");

我做错了什么?我该如何解决它?

谢谢!

PS:我在 Windows 7 下使用 Eclipse Luna。

最佳答案

所有相对路径(在 Windows 上不以驱动器号开头,在 Linux 上不以斜线开头的路径)都相对于当前工作目录,应用程序将从该目录执行。通常(但这在很大程度上取决于环境、IDE 等),这是项目目录,其中包含名为“src”、“src/main/java”或类似目录的目录,该目录又是所有源代码的根目录(例如*.java 文件)。

如果您有一个名为“com.project.test.sources”的包,则在此根目录下必须有目录“com/project/test/sources”。因此,如果您希望文件位于该包中,则必须使用类似的路径src/com/project/test/sources(取决于您的源根目录)。

但是,您可能不希望将应用程序生成的文件放在应用程序本身的代码库中(因此不要放在“src”-dir 之下),而是放在不同的目录中,例如“data”或类似的目录,因此您不需要混合源和动态生成的文件。

关于java - WIN7中使用Java将JSON写入分包中的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28737494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com