JAVA中的HTTP POST请求,有效负载为json文件
下面是我试图发送的HTTP POST请求,该请求将json文件作为有效负载发送。我经常犯的错误是 java.io.FileNotFoundException:test.json(系统找不到指定的文件) 尽管test.json文件位于同一文件夹中JAVA中的HTTP POST请求,有效负载为json文件,java,json,rest,post,Java,Json,Rest,Post,下面是我试图发送的HTTP POST请求,该请求将json文件作为有效负载发送。我经常犯的错误是 java.io.FileNotFoundException:test.json(系统找不到指定的文件) 尽管test.json文件位于同一文件夹中 private void sendPost() throws Exception {` String url = "url"; HttpClient httpClient = HttpClientBuilder.create().bui
private void sendPost() throws Exception {`
String url = "url";
HttpClient httpClient = HttpClientBuilder.create().build();
HttpPost post = new HttpPost(url);
List<NameValuePair> urlParameters = new ArrayList<NameValuePair>();
String postData = AutomaticOnboarding.readFile("test.json");
urlParameters.add(new BasicNameValuePair("data", postData));
StringEntity se = new StringEntity(postData);
post.setHeader(HttpHeaders.CONTENT_TYPE, "application/json");
post.setEntity(se);
HttpResponse response = httpClient.execute(post);
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + post.getEntity());
int responseCode = response.getStatusLine().getStatusCode();
System.out.println("Response Code : " +responseCode);
if(responseCode == 200){
BufferedReader rd = new BufferedReader(
new InputStreamReader(response.getEntity().getContent()));
StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
result.append(line);
}
System.out.println(result.toString());
}
}
使用类加载器获取jar中的资源
getClass().getClassLoader().getResourceAsStream(filename)
假设您使用
newfilereader(“test.json”)
@Scadge打开test.json,则test.json应该位于运行java
命令的同一目录中。我的文件确实位于同一目录中。我在问题中也详细说明了这一点。你应该把你的问题从文章的上下文中抽象出来。您的问题可能是找不到您的文件。你看过这样的解决方案吗@FirstUser如何运行您的程序?请注意,.java和test.json文件不应该在同一个文件夹中,但正如我所说,test.json应该在运行程序的文件夹中,即runjava
command@Scadge我正在Eclipse中运行程序..我应该将文件移动到某个特定目录吗。
getClass().getClassLoader().getResourceAsStream(filename)