Java 在此程序中创建的文件中没有输出

Java 在此程序中创建的文件中没有输出,java,web-services,rest,Java,Web Services,Rest,这是我的第一个Web服务。我想向该服务发送一些参数,并希望web服务以文本格式将数据保存到文件中。 文件已创建,但为空 package com.first.jersey.tutorial.latlng.resources; import java.io.FileWriter; import java.io.IOException; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @P

这是我的第一个Web服务。我想向该服务发送一些参数,并希望web服务以文本格式将数据保存到文件中。 文件已创建,但为空

package com.first.jersey.tutorial.latlng.resources;

import java.io.FileWriter;
import java.io.IOException;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;

@Path("/values")
public class Parameters {
String path="hi.txt";

@GET
@Path("/{param1}/{param2}")
public void makeFile(@PathParam("param1")double a,@PathParam("param2")double b){
    try {

        @SuppressWarnings("resource")
        FileWriter w=new FileWriter(path);
        w.write("{\"Latitude\":"+a+",\"Longitude\":"+b+"}");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }       
}
}
我使用以下URL来运行此程序。 我使用这段代码,希望创建一个{“纬度”:17,“经度”:80}JSON格式的文件。我想使用这些变量使用AJAX更新我的Google Maps web应用程序中的位置标记

位置latlng变量应该由android应用程序发送到URL中的web服务。因此,每次应用程序发送数据时,都应该更新文件,用当前位置数据替换以前的数据

我不知道这是否是满足我要求的最简单的方法。如果有任何其他方式,使我的代码将有点整洁,请建议我的代码

。。。文件将在哪里创建

不确定。它取决于web容器/appserver的“当前目录”。这取决于它是如何发射的

在web应用程序中使用相对路径名可能是个坏主意。(至少在生产代码中。)

更新


文件被创建为空的最可能的原因是您在写入文件后没有刷新或关闭该文件。

“这是有效代码吗?”它是否编译?这可能是他的后续问题它将存储在
@Path(“/{param1}/{param2}”)
您是否考虑过运行它并找出答案?@tnw-这不是一个好主意。问题是,如果你把这当作一个“黑匣子”,你可能会得出错误的结论。现在问题被编辑了。如果你能得到,请帮助我。无论如何,谢谢你站出来解决我的问题。