我是Java的新手。我需要在Java中通过套接字发送一个字符串。 截至目前,代码如下所示
public static void main(String [] str)
{
String temp;
try
{
inputStream = new BufferedReader(new FileReader("Z:\\ABC.txt"));
String inLine = inputStream.readLine();
System.out.println("Read String" + inLine);
int k[] = new int[(inLine.length())/2];
byte b[] = new byte[(inLine.length())/2];
必须以字符串形式发送ABC.txt文件的内容。实际上,该文件包含一个字符串,必须直接发送。
答案 0 :(得分:0)
此代码将帮助您获得解决方案
import java.net.*;
import java.io.*;
public class Operation
{
static String serverName = "xxx.xxx.x.x";//ipaddress
static int port = 9999;
public void writeTo(String fileContent)
{
try
{
System.out.println("Connecting to " + serverName+ " on port " + port);
Socket client = new Socket(serverName, port);
System.out.println("Just connected to " + client.getRemoteSocketAddress());
OutputStream outToServer = client.getOutputStream();
DataOutputStream out = new DataOutputStream(outToServer);
out.writeUTF(fileContent);
client.close();
}catch(IOException e)
{
// e.printStackTrace();
System.out.println(e);
}
}
读取文件内容并将其存储到String中并传递给writeTo()
阅读
BufferedReader br=new BufferedReader(new FileReader(file_name));
try{
String Myplaintext="";
String currentline="";
while((currentline=br.readLine())!=null)
{
Myplaintext=Myplaintext+" "+currentline.toString();
}
并致电
writeTo(Myplaintext);
答案 1 :(得分:0)
使用以下代码:
Socket socket = null;
try {
Socket socket = new Socket("ip address", portNo);
OutputStream os =socket.getOutputStream();
File file = new File("Z:\\ABC.txt");
os.write(Files.readAllBytes(file.toPath()));
} catch (IOException e) {
System.err.print(e);
} catch (UnknownHostException e) {
System.err.print(e);
} finally {
if(socket!= null)
socket.close();
}