首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在项目文件夹中不生成文件的I/O文件

在项目文件夹中不生成文件的I/O文件
EN

Stack Overflow用户
提问于 2014-04-12 09:01:30
回答 2查看 442关注 0票数 0

问题是我有生成文件的代码,如下所示

代码语言:javascript
复制
java.io.File jsonFile = new java.io.File("newjson.json");

    System.out.println(jsonFile.getAbsolutePath());
    try {
        om.writeValue(jsonFile, categoryProducts);
    } catch (IOException e) {
        System.out.println("sorry we got little problem please try again later");
        e.printStackTrace();
    }

现在,当我在输出中运行这个程序时,绝对路径如下:

代码语言:javascript
复制
D:\eclips kepler\Eclipse-kepler\eclipse\newjson.json

这是by eclips包的路径,但我的项目路径是:

代码语言:javascript
复制
D:\educational softwares\android workspace\webservicesForIndTadka

问题是为什么文件在项目上下文之外的位置生成。

一些变通方法:

现在当我把文件作为

代码语言:javascript
复制
java.io.File jsonFile = new java.io.File("./json/newjson.json");

上面写着

代码语言:javascript
复制
D:\eclips kepler\Eclipse-kepler\eclipse\.\json\newjson.json
sorry we got little problem please try again later
java.io.FileNotFoundException: .\json\newjson.json (The system cannot find the path specified)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.codehaus.jackson.JsonFactory.createJsonGenerator(JsonFactory.java:746)
at org.codehaus.jackson.map.ObjectMapper.writeValue(ObjectMapper.java:2048)
at com.techbloomer.services.ControllerServices.initApp(ControllerServices.java:120)
at com.techbloomer.controllers.DataControllers.initApp(DataControllers.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
EN

回答 2

Stack Overflow用户

发布于 2014-04-12 09:13:33

您需要将文件放在项目文件夹中,而不是类路径文件夹中。因此,您需要指定文件的绝对路径。其次,还需要关闭输出流。

票数 0
EN

Stack Overflow用户

发布于 2014-04-12 09:27:13

试一试那些满脸通红的人:

1.在文件构造函数中提到完整的路径。

2.或者你要在你的档案里写点什么,对吧?就这么做..。

FileOutputStream jsonfile =新FileOutputStream("newjson.json");

它将在当前工作项目中创建文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23028342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档