java中附加字符串的奇怪障碍

java中附加字符串的奇怪障碍,java,Java,我想将一些子字符串附加到一个名为Request的字符串变量中,但它不起作用,Request保持为空,并带有“”值。真奇怪。 请求是StringBuilder,并且是我的类成员。 客户端是套接字的一个实例。 注意:tmp不是空的 有人能帮我吗? (更改代码) 我把我所有的班级代码都放进去了。 感谢您的回复。我正在运行您的代码的一个稍加修改的版本(用于不处理套接字),我得到了预期的行为: 可能是另一个线程覆盖了请求?尝试使用局部变量。 您是否100%确定客户端输入有数据?包括新线 import ja

我想将一些子字符串附加到一个名为Request的字符串变量中,但它不起作用,Request保持为空,并带有“”值。真奇怪。 请求是StringBuilder,并且是我的类成员。 客户端是套接字的一个实例。 注意:tmp不是空的

有人能帮我吗? (更改代码)

我把我所有的班级代码都放进去了。
感谢您的回复。

我正在运行您的代码的一个稍加修改的版本(用于不处理套接字),我得到了预期的行为:

可能是另一个线程覆盖了
请求
?尝试使用局部变量。
您是否100%确定客户端输入有数据?包括新线

import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;


public class Tmp {
public static void main(String[] args) {
    new Tmp().run();
}

StringBuilder request = new StringBuilder(); 
public void run() {

    String test= "testData\r\n";
    ByteArrayInputStream client = new ByteArrayInputStream(test.getBytes()); 
    try
    {
        BufferedReader clientinput = new BufferedReader(new InputStreamReader(client));
        System.out.println("---------REQUEST--------");
        String tmp;

        while((tmp=clientinput.readLine())!=null)
        {
            request = request.append(tmp);
        }
        System.out.println(request.toString());//request is NOT empty!!!
    }
    catch(IOException e){e.printStackTrace();}
}         
}

它是StringBuilder类的实例。如果您的请求为空,则您的文件为空。@SilviuBurcea他没有从文件中读取。您指的是哪个文件?@JoshM抱歉,流是空的。什么是
客户端
?它是文件对象吗?你能出示密码吗?
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStreamReader;


public class Tmp {
public static void main(String[] args) {
    new Tmp().run();
}

StringBuilder request = new StringBuilder(); 
public void run() {

    String test= "testData\r\n";
    ByteArrayInputStream client = new ByteArrayInputStream(test.getBytes()); 
    try
    {
        BufferedReader clientinput = new BufferedReader(new InputStreamReader(client));
        System.out.println("---------REQUEST--------");
        String tmp;

        while((tmp=clientinput.readLine())!=null)
        {
            request = request.append(tmp);
        }
        System.out.println(request.toString());//request is NOT empty!!!
    }
    catch(IOException e){e.printStackTrace();}
}         
}