访问和操作Maven项目

时间:2017-09-08 10:22:04

标签: java rest maven io

我知道关于这个话题已经有很多问题,但它们似乎都没有帮助。在我的Maven项目中,我试图访问src / main / resource文件,我知道在运行时,当我想读取文件并写入它时,我必须访问它的类路径或其他东西。

我真的不确定它是如何工作的,我设法编写代码来读取文件,但我不知道如何编写写入文件的代码。这是我到目前为止所做的:

    private File userFile;
    private ObjectMapper om;
    private InputStream is;

    public UserService() {
        om = new ObjectMapper();

        ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
        is = classLoader.getResourceAsStream("files/userJSON.json");

    }

此构造函数表示UserService类,我使用这些方法访问位于userJSON.json文件中的User Resoruces。这是我用来读取文件的方法:

public List<User> readJSON() throws JsonParseException, JsonMappingException, IOException{


        BufferedReader br = new BufferedReader(new InputStreamReader(is));


        List<User> list = om.readValue(br,new TypeReference<List<User>>(){});

        return list;
    }

如何写入文件,如果可能的话,向我解释这是如何工作的。我的意思是Maven如何在运行时使用文件等等。

1 个答案:

答案 0 :(得分:1)

只需调用此方法,它将读取文件并将其转换为JSONObject:

private static JSONObject readUserJSON() throws FileNotFoundException, IOException, ParseException {
        String jarPath = (new File("")).getAbsolutePath();
        JSONObject config = null;
        JSONParser parser = new JSONParser();
        config = (JSONObject) parser.parse(new FileReader(jarPath + "resource/files/userJSON.json"));

        return config;

    }

在.pom文件中添加此依赖项:

        <dependency>
            <groupId>com.googlecode.json-simple</groupId>
            <artifactId>json-simple example</artifactId>
            <version>1.1.1</version>
        </dependency>

使用以下语句,您将获得文件的绝对路径,您可以使用文件编写器编写它:

String jarPath = (new File("")).getAbsolutePath();