ここで、ファイルサーバープログラムを作成しています。これで、ソケット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());
}
}
}
誰かが実際の理由を説明できますか?前もって感謝します 。