-1
以下は、jsonファイルをペイロードとして送信するHTTP POST要求を送信しようとしたものです。私は常に取得エラーがあるjsonファイルとしてペイロードを持つJAVAのHTTP POST要求
java.io.FileNotFoundException:test.json test.jsonファイルが同じフォルダ内にあるものの
(指定されたファイルが見つかりません)。ここで
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());
}
}
はreadFileの方法を、次のとおりです。
public static String readFile(String filename) {
String result = "";
try {
BufferedReader br = new BufferedReader(new FileReader(filename));
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
line = br.readLine();
}
result = sb.toString();
} catch(Exception e) {
e.printStackTrace();
}
return result;
}
jarファイル内のリソースを取得するために、クラスローダを使用しますあなたが 'new FileReader(" test.json ")でオープンしたと仮定してjavaコマンドを実行します。 – Scadge
@Scadge ..myファイルは実際には同じディレクトリにあります。私はこの質問にも指定しました。 –
すべてのPOSTコンテキストから質問を抽象化する必要があります。あなたの問題は、あなたのファイルが見つからないことを再開することができます。このようなソリューションを見ましたか? https://stackoverflow.com/questions/6639/how-should-i-load-files-into-my-java-application –