欢迎访问宙启技术站
智能推送

从Java中的IO函数入手,学会文件读写与网络通信

发布时间:2023-06-23 17:37:54

Java是一门非常流行的编程语言,它有着完善的IO库,支持文件读写和网络通信等多种操作。在本文中,我们将以Java中的IO函数为例,介绍文件读写和网络通信方面的知识。

一、文件读写

1.1 文件读取

Java中读取文件有两种方式:一种是使用FileInputStream类,另一种是使用BufferedReader类。

使用FileInputStream类读取文件的过程如下:

FileInputStream fis = new FileInputStream("file.txt"); // 打开文件
int content;
while ((content = fis.read()) != -1) { // 逐个读取文件内容
    System.out.print((char) content);
}
fis.close(); // 关闭文件

使用BufferedReader类读取文件的过程如下:

BufferedReader br = new BufferedReader(new FileReader("file.txt")); // 打开文件
String line;
while ((line = br.readLine()) != null) { // 逐行读取文件内容
    System.out.println(line);
}
br.close(); // 关闭文件

1.2 文件写入

Java中写入文件同样有两种方式:一种是使用FileOutputStream类,另一种是使用BufferedWriter类。

使用FileOutputStream类写入文件的过程如下:

FileOutputStream fos = new FileOutputStream("file.txt"); // 打开文件
String content = "hello world";
byte[] bytes = content.getBytes();
fos.write(bytes); // 写入文件
fos.close(); // 关闭文件

使用BufferedWriter类写入文件的过程如下:

BufferedWriter bw = new BufferedWriter(new FileWriter("file.txt")); // 打开文件
String content = "hello world";
bw.write(content); // 写入文件
bw.close(); // 关闭文件

二、网络通信

2.1 客户端

使用Java进行网络通信,我们需要用到Socket类和ServerSocket类。下面的例子是一个简单的客户端发送字符串到服务器的过程:

Socket socket = new Socket("127.0.0.1", 8000); // 连接服务器
OutputStream os = socket.getOutputStream();
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
String message = "hello world";
bw.write(message);
bw.flush();
socket.shutdownOutput(); // 关闭输出流
socket.close(); // 关闭Socket

2.2 服务器端

下面的例子是一个简单的服务器端接收客户端发送的字符串并将其输出到控制台的过程:

ServerSocket serverSocket = new ServerSocket(8000); // 创建ServerSocket对象
Socket socket = serverSocket.accept(); // 接收客户端请求
InputStream is = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String message = null;
while ((message = br.readLine()) != null) { // 逐行读取客户端发送的字符串
    System.out.println(message);
}
socket.shutdownInput(); // 关闭输入流
socket.close(); // 关闭Socket

以上就是Java中文件读写和网络通信的一些基本知识,可以帮助初学者快速入门。当然,Java的IO库还有很多高级用法,需要我们慢慢深入学习。