维护网站的职位叫什么,网站制作套餐,90设计官方网站,重庆最近的新闻大事一、IO流概念与应用 什么是IO流#xff1f; 想象一下水管流水#xff0c;水从一端流入流出的过程就像是数据在程序中的传输。在Java世界里#xff0c;IO流就是这样一个抽象概念#xff0c;它是数据在不同存储介质或网络之间传输的一种方式。简单来说#xff0c;如果你把数…一、IO流概念与应用 什么是IO流 想象一下水管流水水从一端流入流出的过程就像是数据在程序中的传输。在Java世界里IO流就是这样一个抽象概念它是数据在不同存储介质或网络之间传输的一种方式。简单来说如果你把数据看作水流那么IO流就是承载这个水流的管道它可以用来读取文件、网络数据也可以用来写出数据到文件、网络中去。 // 创建一个字节流来读取文件
FileInputStream fis new FileInputStream(test.txt);
byte[] buffer new byte[1024];
int len;
while ((len fis.read(buffer)) ! -1) {// 处理读取到的字节流
}
fis.close();// 创建一个字节流来写出数据到文件
FileOutputStream fos new FileOutputStream(output.txt);
fos.write(Hello, World!.getBytes());
fos.close();IO流分类
Java的IO流分为两大类字节流和字符流。 • 字节流处理原始的二进制数据如InputStream和OutputStream及其子类适用于读写图片、音频、视频等非文本文件。
• 字符流基于字节流之上加入了字符集转换用于处理文本数据如Reader和Writer及其子类便于我们直接操作字符而非字节。 3.文件操作与文件夹遍历 Java提供了java.io.File类来进行文件和目录操作例如
File file new File(/path/to/file);
if (file.exists()) {System.out.println(File name: file.getName());System.out.println(Absolute path: file.getAbsolutePath());System.out.println(Parent directory: file.getParent());System.out.println(File size in bytes: file.length());// 遍历文件夹及子文件夹下的所有文件if (file.isDirectory()) {File[] files file.listFiles();for (File child : files) {// 对每个子文件/子目录进行操作}}
}二、网络编程基础与Socket编程 1.网络编程简介 网络编程是指利用网络协议如TCP/IP在不同的计算机间建立连接并交换数据。Java的网络编程主要集中在java.net包下。 2.Socket编程实现 在Java中Socket和ServerSocket类是网络通信的核心它们分别用于客户端和服务端。 实例简单的Socket通信 • 服务器端监听客户端连接请求并发送响应 import java.io.*;
import java.net.*;public class Server {public static void main(String[] args) throws IOException {ServerSocket serverSocket new ServerSocket(8000); // 创建ServerSocket监听8000端口Socket socket serverSocket.accept(); // 接受客户端连接请求// 获取Socket输出流向客户端发送数据OutputStream outToClient socket.getOutputStream();PrintWriter out new PrintWriter(outToClient, true);out.println(Hello from Server!);// 在完成通信后关闭资源socket.close();serverSocket.close();}
}客户端连接服务器并接收响应 import java.io.*;
import java.net.*;public class Client {public static void main(String[] args) throws IOException {Socket socket new Socket(localhost, 8000); // 连接到本地服务器8000端口// 获取Socket输入流读取服务器发送的数据InputStream inFromServer socket.getInputStream();BufferedReader reader new BufferedReader(new InputStreamReader(inFromServer));String line reader.readLine();System.out.println(Received from Server: line);// 完成通信后关闭资源reader.close();socket.close();}
}总结 IO流和网络编程是Java开发中的核心技术之一。熟练掌握它们可以帮助你轻松应对文件操作、数据传输以及网络通信任务。在实际应用中记得妥善处理异常遵循良好的编程习惯比如使用try-with-resources语句自动关闭流资源确保程序的健壮性。 练习
1. 实践练习创建一个Java程序使用IO流读取一个文本文件统计其中的单词数量并将结果写入另一个文件。
2. 网络通信扩展上面的Socket示例实现一个简单的聊天程序允许用户在客户端之间互相发送消息。 亲爱的读者感谢您关注与支持我的博客。您的每一份鼓励都是我前行的动力。若我的文章曾给您带来收获或启发欢迎打赏支持。打赏款项将用于提升内容质量为您提供更优质的阅读体验。无论结果如何都感恩您的陪伴让我们共同在知识的世界里探索前行