在这里,我正在创建文件服务器程序。在此我注意到写入了套接字 s=null。我想知道给出 null 的实际原因。我认为它与 ObjectInputStream 或 Scanner 有关。是真的吗与 ObjectInputStream 或 Scanner 相关。这里的代码
Server.java
public class Server{
public static void main(String[] args){
Socket s=null;
ServerSocket ss=null;
ObjectInputStream ois=null;
ObjectOutputStream oos=null;
Scanner sc=new Scanner(System.in);
try
{
ss = new ServerSocket(1234);
System.out.println("server is created");
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
try {
s=ss.accept();
System.out.println("connected");
oos = new ObjectOutputStream(s.getOutputStream());
oos.writeObject("Welcome");
ois= new ObjectInputStream(s.getInputStream());
}catch(Exception e)
{
e.printStackTrace();
}
try{
String fil=(String)ois.readObject();
FileInputStream fis = new FileInputStream(fil);
int d;
String data="";
while(true)
{
d=fis.read();
if(d==-1)
break;
data = data+(char)d;
}
oos.writeObject(data);
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}
任何人都可以解释实际原因吗?提前致谢 。