写入文件时,某些字符会被其他字符替换?

时间:2019-03-28 18:20:05

标签: java server file-transfer

我有一个C#程序,该程序通过网络套接字发送.zip文件。我的Java服务器侦听该端口,然后直接写入一个新文件,但是某些字符被替换为问号(?)。

例如,这只是我要传输的.zip文件中的一行:

¬ßÂÔìÑ·‹åÔ>ßÂÔÅ]tÅ™nÙ–-É’-Ë>ãñ} a [6ØžÍè$yÆYH> Z3-©qÏôÐ3cKÄqŒI°Ù°Ù·°`KX²,K6 \

这是Java服务器写入文件的内容(我在问号中加上了问号):

¬ßÂÔìÑ·‹åÔ>ßÂÔÅ]tÅ™nÙ–-É'-Ë>ãñ} a [6ØžÍè$yÆYH> Z3-©qÏôÐ3cKÄqŒI°Ù°Ï(?)·°KX²,K6 \

因此,此特殊情况的字符代码为144,并用63或问号符号代替。

我认为问题出在我的Java服务器中。

private String ReadMessage() {
        StringBuilder message = new StringBuilder();
        char recieved;
        try {

            recieved = (char)stream.read();
            if(recieved != '$') {

                do {

                    message.append(recieved);
                    recieved = (char)stream.read();
                }while(recieved!='$');
            }
            return message.toString();
        }catch(IOException e) {
            e.printStackTrace();
            return null;
        }

    private void InitWriter(){
      projectwriter = new BufferedWriter(new FileWriter(new File("D:\\help\\" + this.participant) + ".zip"));
    }




    private void ProjectWrite(String valueOfMesseage) throws IOException{
        projectwriter.append(valueOfMesseage);  
    }

我将$符号用作消息的结尾。

谢谢。

0 个答案:

没有答案