我需要做的是将文件从 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 大小。到目前为止,输出显示了“错误格式”的捕获。看代码。
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:当我只是试图传递任何字符串而不加载文件(字符串 >> utf8 >> base64)并接收(base64 >> utf8 >> 字符串)时,它可以工作。