私がする必要があるのは、javaからc#にファイルを送信することです。一方、Javaはクライアントとして機能し、C#はサーバーとして機能します。
ファイルはfileinputstreamを介してJavaにロードされ、utf8、次にbase64に変換されます。コードを参照してください。
FileInputStream fin=new FileInputStream(fileName);
byte[] content = new byte[fin.available()];
fin.read(content, 0, content.length);
String asString = new String(content, "UTF8");
byte[] newBytes = asString.getBytes("UTF8");
String base64 = Base64.encodeToString(newBytes, Base64.DEFAULT);
サーバーは(c#言語を使用して)送信されたデータを読み取り、ファイルとして変換し直します。私はbase64を使用してからutf8に移動し、最後にそれを作成する方法がわかりません。送信しようとしているのは、144kb以下のvideo.mp4サイズです。これまでのところ、出力には「WRONGFORMAT」のキャッチが表示されています。コードを参照してください。
try
{
for (int i = 0; i <= _server.Q.NoOfItem - 1; i++)
{
words = _server.Q.ElementAtBuffer(i).ToString();
//textBox1.Text = words;
byte[] encodedDataAsBytes = System.Convert.FromBase64String(words);
string returnValue = System.Text.Encoding.UTF8.GetString(encodedDataAsBytes);
textBox1.Text = returnValue;
}
}
catch (ArgumentNullException argNull)
{
textBox1.Text = "Received null value";
}
catch (FormatException FrmtEx)
{
textBox1.Text = "Wrong format";
}
for (int i = 0; i <= _server.Q.NoOfItem - 1; i++)
これは、送信されたデータをキャプチャ/取得する方法であるため、無視してかまいません。
p / s:ファイルをロードせずに文字列を渡そうとした場合(string >> utf8 >> base64)および受信しようとした場合(base64 >> utf8 >> string)に機能します。