// 文件名 GreetingClient.java import java.net.*; import java.io.*; public class GreetingClient { public static void main(String [] args) { String serverName = args[0]; int port = Integer.parseInt(args[1]); try { System.out.println("连接到主机:" + serverName + " ,端口号:" + port); Socket client = new Socket(serverName, port); System.out.println("远程主机地址:" + client.getRemoteSocketAddress()); OutputStream outToServer = client.getOutputStream(); DataOutputStream out = new DataOutputStream(outToServer); out.writeUTF("Hello from " + client.getLocalSocketAddress()); InputStream inFromServer = client.getInputStream(); DataInputStream in = new DataInputStream(inFromServer); System.out.println("服务器响应: " + in.readUTF()); client.close(); }catch(IOException e) { e.printStackTrace(); } } }
时间: 2024-04-16 10:29:10 浏览: 24
这是一个简单的 Java 客户端程序,用于连接到指定的主机和端口。它首先创建一个 Socket 对象并连接到指定的服务器。然后,它通过输出流将一条消息发送给服务器。接下来,它从服务器接收响应并将其打印出来。最后,它关闭连接。
请注意,这个程序需要通过命令行参数传递服务器的主机名和端口号。你可以在命令行中运行这个程序,并将主机名和端口号作为参数传递给它。例如:
```shell
java GreetingClient example.com 1234
```
这将连接到主机 example.com 的端口 1234,并发送一条消息给服务器。然后,它将打印出服务器的响应。
相关问题
java.io.FileNotFoundException: ../../../res/xml/timezones.xml
java.io.FileNotFoundException异常表示在指定路径下找不到指定的文件。在这个例子中,文件路径为"../../../res/xml/timezones.xml",这个路径是相对路径,表示在当前文件的上两级目录下的res/xml文件夹中寻找timezones.xml文件。如果在这个路径下找不到timezones.xml文件,就会报java.io.FileNotFoundException异常。
解决这个问题的方法有以下几种:
1.检查文件路径是否正确,确保文件路径中的文件夹和文件名都正确无误。
2.检查文件是否存在,可以使用Java的File类的exists()方法来检查文件是否存在。
3.检查文件是否可读,可以使用Java的File类的canRead()方法来检查文件是否可读。
4.检查文件是否被占用,如果文件正在被其他程序占用,就无法读取该文件。
下面是一个示例代码,用于检查文件是否存在并可读:
```java
import java.io.File;
public class FileTest {
public static void main(String[] args) {
File file = new File("../../../res/xml/timezones.xml"); if (file.exists() && file.canRead()) {
System.out.println("文件存在且可读");
} else {
System.out.println("文件不存在或不可读");
}
}
}
```
import java.io.FileInputStream; public class File { public static void main(String[] args) { File file = new File(pathname:"test.txt"); file.createNewFile();//创建文件 System.out.println(file.getName());//输入文件名 System.out.println(file.exists());//判断是否存在文件或者目录 System.out.println(file.isHidden()); System.out.println(file.isFile()); File file1=new File(pathname:"/Users/chen"); } }
你好!对于你的代码,我发现了一些错误。首先,在创建`File`对象时,你应该使用正确的构造函数来指定文件的路径,而不是使用`pathname`作为参数名。其次,在创建文件之前,你需要捕获可能抛出的`IOException`。最后,你可以使用`getAbsolutePath()`方法来获取文件的绝对路径。下面是修改后的代码:
```java
import java.io.File;
import java.io.IOException;
public class FileTest {
public static void main(String[] args) {
File file = new File("test.txt");
try {
if (file.createNewFile()) {
System.out.println("文件创建成功");
} else {
System.out.println("文件已存在");
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(file.getName());//输入文件名
System.out.println(file.exists());//判断是否存在文件或者目录
System.out.println(file.isHidden());
System.out.println(file.isFile());
File file1 = new File("/Users/chen");
System.out.println(file1.getAbsolutePath());//获取文件的绝对路径
}
}
```
希望这可以帮助到你!如果你有任何其他问题,请随时问我。