1. 程式人生 > >C #與java進行通訊?傳輸字串為例。

C #與java進行通訊?傳輸字串為例。

C#端程式碼:

String contents =“hello 這是C#傳來的資料”;//請求string uri = "http://192.168.1.149:8080/專案名/TestServlte";HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;request.Method = "post";//請求方法request.ProtocolVersion = new Version(1, 1);

string param = contents;Stream reqStream = request.GetRequestStream()reqStream.Write(param);reqStream.Close();

HttpWebResponse response = request.GetResponse() as HttpWebResponse;Stream stream = response.GetResponseStream()StreamReader reader = new StreamReader(stream);string responseString = reader.ReadToEnd();

reader.Close();

java端程式碼:

/*** doPost(運用servlet連線elasticsearch')*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//使用post方法request.setCharacterEncoding("UTF-8");//設定字元編碼response.setContentType("text/html;charset=utf-8");//獲取流的同時設定編碼格式為utf-8(雖然上面已經設定了,但是這邊還是要再設一次) BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream(),"utf-8"));String lines = reader.readLine();//獲取C#端傳輸過來的資料為 System.out.println("C#端傳輸過來的資料為:"+lines);//lines = new String(lines.getBytes(), "utf-8");reader.close();//關閉連線 //直接轉換為系統預設編碼下對應的字元,再輸出 PrintWriter out = response.getWriter();out.println("這是返回給C#端的資訊:Hello C#!");out.flush();out.close(); ESTools.close();System.out.println("執行完畢");}

親自使用過了,可以成功!!!

若讀者有不成功的,文章下面留言,聯絡小編。

  • Console.WriteLine(responseString);