Java REST服务。信息未保存到文件,并且我的代码未读取该文件

Java REST服务。信息未保存到文件,并且我的代码未读取该文件,java,json,eclipse,rest,Java,Json,Eclipse,Rest,我正在使用数据的JSON对象创建我的第一个Rest服务 在Gson库2.5的帮助下,在用户和服务器之间进行传输。 我没有使用任何像Jersey之类的框架。(那是我的 项目要求)。我使用的java版本是1.6(我要求的一部分) jboss服务器和Eclipse作为IDE 目前,我有两个来自简单HTML表单的小函数。首先是 suposed to从JSON文件请求数据,第二个请求被suposed to 向json文档添加新的json信息 问题是:当我尝试访问JSON文件时,返回的数组 最后提交的人。当

我正在使用数据的JSON对象创建我的第一个Rest服务 在Gson库2.5的帮助下,在用户和服务器之间进行传输。 我没有使用任何像Jersey之类的框架。(那是我的
项目要求)。我使用的java版本是1.6(我要求的一部分) jboss服务器和Eclipse作为IDE

目前,我有两个来自简单HTML表单的小函数。首先是 suposed to从JSON文件请求数据,第二个请求被suposed to 向json文档添加新的json信息

问题是:当我尝试访问JSON文件时,返回的数组 最后提交的人。当我保存新的个人信息时,该信息是 不是保存在personsJsonFile中,而是保存在其他地方[不知道在哪里]。 我的json文件位于项目主文件夹中

非常感谢您的帮助

GetData类:

@Path("/data")
public class GetDataClass {
@GET
@Produces("text/plain")

    public ArrayList<PersonConstructor> displayJsonFile() throws IOException{

    ArrayList<PersonConstructor> newLib = new ArrayList<PersonConstructor>();
    File jsonFile = new File("personsJsonFile.json");
    Scanner fileInput = new Scanner(jsonFile);
    Gson gson = new Gson();
    while(fileInput.hasNextLine()){
        String jsonLine = fileInput.nextLine();
        PersonConstructor singlePerson = gson.fromJson(jsonLine, PersonConstructor.class);
        newLib.add(singlePerson);
    }
    fileInput.close();
    return newLib;
}
} 
施工人员等级:

public class PersonConstructor {

    private int personId;
    private String personNume;
    private String personPrenume;

    public PersonConstructor(int personId, String personNume,String personPrenume){
        this.personId = personId;
        this.personPrenume = personPrenume;
        this.personNume = personNume;
    }

    public PersonConstructor() {

    }
    public int getPersonId(){
        return personId;
    }
    public void setPersonId(int personId){
        this.personId = personId;
    }
    public String getPersonNume(){
        return personNume;
    }
    public void setPersonNume(String personNume){
        this.personNume = personNume;
    }
    public String getPersonPrenume(){
        return personPrenume;
    }
    public void setPersonPrenume(String personPrenume){
        this.personPrenume = personPrenume;
    }   
    public String toString(){
        return String.format("\n%s %s %s\n", this.personId, this.personNume, this.personPrenume);
    }

}
Json文件包含:

{"personId":5,"personNume":"Ursu","personPrenume":"Niculae"},
{"personId":6,"personNume":"Ivan","personPrenume":"Claudiu"},
{"personId":7,"personNume":"Hap","personPrenume":"Dorel"}

您的问题似乎是您没有指定保存文件的路径

创建文件时添加路径

final String jsonDirectory  = "path to file";

File file = new File(jsonDirectory + "\\results.txt");

若要测试是否存在路径问题,请在创建或读取文件时使用绝对路径。。。例如;File jsonFile=new文件(“/opt/dev/personsJsonFile.json”),感谢您的帮助。它现在保存到文件中,但删除文件中包含的所有内容以添加新信息。我会将您的答案标记为正确,但如果可以,请回答您认为发生这种情况的原因。很简单,您再次写入同一个文件,并将其覆盖,而不是附加新数据。如果希望附加到保留格式的现有json数据,那么最好和最可靠的方法是不附加到文件,而是读取整个json文件并反序列化到对象,附加到对象集合,然后将输出序列化回json文件。顺便说一句,我不知道你为什么要将文件保存在本地,因为web服务应该为每个调用返回响应,并让调用方处理。谢谢,我明白了。我马上就开始。不幸的是,我不知道你说的最后一句话是什么意思。我正在本地保存数据,因为我目前没有使用数据库,项目的主题是客户机/服务器通信。我正在保存数据,以便执行其他功能,如编辑/删除/获取所有数据。有没有比本地保存数据更好的方法?
final String jsonDirectory  = "path to file";

File file = new File(jsonDirectory + "\\results.txt");