(1)列出目录下的文件
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
//列出目录下的文件
public class ListFileDemo extends JFrame{
JTextField jtfPath; //路径输入文本域
JTextArea jtfShow; //显示目录下的内容
public ListFileDemo(){
super("列出目录下的文件");
Container container=getContentPane(); //得到容器
jtfPath=new JTextField(16); //实例化路径输入文本框
JButton jbGo=new JButton("转到"); //实例化"转到"按钮
jtfShow=new JTextArea(); //实例化显示内容文本框
jtfPath.addActionListener(new ShowDirListener()); //增加事件处理
jbGo.addActionListener(new ShowDirListener());
JPanel panel=new JPanel(); //实例化面板,用于增加路径输入和按钮
panel.add(jtfPath);
panel.add(jbGo);
container.add(panel,BorderLayout.NORTH); //增加组件到容器
JScrollPane jsp=new JScrollPane(jtfShow);
jsp.setBorder(BorderFactory.createEmptyBorder(10,10,10,10)); //设置边界
container.add(jsp,BorderLayout.CENTER);
setSize(300,200); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class ShowDirListener implements ActionListener { //取得目录内容的事件处理
public void actionPerformed(ActionEvent event) {
showDirContent(jtfPath.getText()); //调用显示目录内容方法}
}
public void showDirContent(String path){ //该方法实现取得目录内容File file=new File(path); //用路径实例化一个文件对象
File[] files=file.listFiles(); //重点:取得目录内所有文件列表
StringBuffer message=new StringBuffer(); //实例化一个StringBuffer,用于处理显示的字符串
message.append(path); //增加信息
message.append(" 内容如下:\n");
for (int i=0;i if (files[i].isDirectory()){ //如果这是一个目录 message.append("
}
else{
message.append("\t");
}
message.append(files[i].getName()); //增加文件或目录名
message.append("\n");
}
jtfShow.setText(new String(message)); //显示消息}
public static void main(String[] args){
new ListFileDemo();
}
}
(2)UDP通信
import java.awt.event.*;
import https://www.doczj.com/doc/a79695700.html,.*;
import javax.swing.*;
public class UDPClientDemo extends JFrame{
String host="localhost"; //服务器地址
int port=2345; //端口号
public UDPClientDemo(){
try{
DatagramSocket socket=new DatagramSocket(); //实例化一个数据报Socket
InetAddress address=InetAddress.getByName(host); //服务器地址
byte[] buffer=new byte[256]; //缓冲区
DatagramPacket packet=new DatagramPacket(buffer,buffer.length,address,port); //实例化一个数据报
socket.send(packet); //发送报文
packet=new DatagramPacket(buffer,buffer.length);
socket.receive(packet); //接受回应
String message=new String(packet.getData()); //得到报文信息
System.out.println("Received from: "+packet.getAddress()); //显示信息源地址
System.out.println(message); //显示服务器返回信息
socket.close(); //关闭端口
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}
public static void main(String[] args){
new UDPClientDemo();
}
}
import java.awt.*;
import java.awt.event.*;
import https://www.doczj.com/doc/a79695700.html,.*;
import javax.swing.*;
public class UDPServerDemo extends JFrame{
int port=2345; //端口号
public UDPServerDemo(){
try{
byte[] buffer=new byte[256]; //缓冲区数组
DatagramSocket socket=new DatagramSocket(port); //实例化数据报Socket
DatagramPacket packet;
System.out.println("Server start..."); //输出运行信息
while (true){
packet=new DatagramPacket(buffer,buffer.length); //实例化数据报
socket.receive(packet); //接受请求
InetAddress target=packet.getAddress();
System.out.println("Received from"+target); //输出请求地址
int port=packet.getPort(); //得到接收端口
byte[] message="This is server,Who are you?".getBytes(); //服务器返回信息
packet=new
DatagramPacket(message,message.length,target,port); //实例化数据报
socket.send(packet); //发送数据报
}
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}
public static void main(String[] args){
new UDPServerDemo();
}
}
(3)HTTP连接与浏览
import java.awt.*;
import java.awt.event.*;
import https://www.doczj.com/doc/a79695700.html,.*;
import java.io.*;
import javax.swing.*;
import javax.swing.text.DefaultStyledDocument;
public class HTTPBrowser extends JFrame{
JTextField jtfAddress; //输入html文件地址或网址
JTextPane jtpShow; //显示页面
JTextArea jtaSource; //显示HTML源文件
public HTTPBrowser(){
super("HTTP连接与浏览"); //调用父类构造函数
jtfAddress=new JTextField(30); //实例化地址输入框
jtpShow=new JTextPane(); //实例化显示内容框
jtaSource=new JTextArea();
JPanel p1=new JPanel(); //实例化面板
JSplitPane spane=new JSplitPane(JSplitPane.VERTICAL_SPLIT); //实例化分隔面板
p1.add(new JLabel("地址")); //增加组件到面板上
p1.add(jtfAddress);
spane.add(new JScrollPane(jtpShow),JSplitPane.TOP);
spane.add(new JScrollPane(jtaSource),JSplitPane.BOTTOM);
spane.setDividerLocation(130); //设置分隔位置
spane.setDividerSize(2); //设置分隔栏尺寸
Container container=getContentPane(); //得到容器
container.add(p1,BorderLayout.NORTH); //增加组件到容器上
container.add(spane,BorderLayout.CENTER);
jtfAddress.addActionListener(new ShowHTMLListener()); //输入地址文本域事件处理
setSize(380,300); //设置窗口尺寸
setVisible(true); //设置窗口可视
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //关闭窗口时退出程序
}
class ShowHTMLListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
try{
URL address=new URL(jtfAddress.getText()); //得到
HTML页面的URL地址
jtpShow.setContentType("text/html"); //设置内容格式
jtpShow.setPage(address); //设置显示页面
BufferedReader in= new BufferedReader(new InputStreamReader(address.openStream())); //获取输入流
String line;
StringBuffer content = new StringBuffer(); //文件内容
while ((line = in.readLine()) != null) { //读取文件
content.append(line+"\n");
}
jtaSource.setText(new String(content)); //设置显示文本
in.close(); //关闭输入流
}
catch (Exception ex){
ex.printStackTrace(); //输出出错信息
}
}
}
public static void main(String[] args){
new HTTPBrowser();
} }