Java 中的客户端服务器程序(没有正确的输出)[无错误]



我在 netbeans 中执行客户端服务器程序,但没有得到正确的输出。如果你们中的任何一个人都能发现代码中是否有任何错误,那将非常有帮助。

客户:

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author amirt
*/
public class client {
public static void main(String args[]) throws IOException
{
String fname, s1;
System.out.println("n Enter the file name");
Scanner read=new Scanner(System.in);
fname=read.next();
Socket s=new Socket("127.0.0.1",802);
Scanner cinp=new Scanner(s.getInputStream());
PrintStream cps=new PrintStream(s.getOutputStream());
cps.println(fname);
while(cinp.hasNextLine())
{
System.out.println(cinp.nextLine());
}
}
}

服务器

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author amirt
*/
public class server {
public static void main(String args[]) throws IOException
{
String fn;
ServerSocket ss=new ServerSocket(802);
Socket s11=ss.accept();
Scanner sinp=new Scanner(s11.getInputStream());
fn=sinp.next();
Scanner sf=new Scanner(fn);
PrintStream p1=new PrintStream(s11.getOutputStream());
while(sf.hasNextLine())
{
p1.println(sf.nextLine());
}
}
}

输出: 输入文件名

回答 1.txt

回答 1.txt

PS:a1.txt包含:abcdefgh

谢谢!

在您的服务器代码中,而不是:

Scanner sf=new Scanner(fn);

你应该写:

Scanner sf=new Scanner(new File(fn));

Scanner现在将从文件的内容而不是文件名中读取。

最新更新