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 message.append(\" } else{ message.append(\"\\"); } 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 java.net.*; 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 java.net.*; 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 java.net.*; 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(); } } 因篇幅问题不能全部显示,请点此查看更多更全内容