java编程经典案例与模板
(1)列出目录下的文件import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;/列出目录下的文件public class ListFileDemo extends JFrameJTextField 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<files.length;i+)if (filesi.isDirectory()/如果这是一个目录message.append("<dir>t");/增加目录标识elsemessage.append("t");message.append(filesi.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 JFrameString host="localhost" /服务器地址int port=2345; /端口号public UDPClientDemo()tryDatagramSocket socket=new DatagramSocket(); /实例化一个数据报SocketInetAddress address=InetAddress.getByName(host); /服务器地址byte buffer=new byte256; /缓冲区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 JFrameint port=2345;/端口号public UDPServerDemo()trybyte buffer=new byte256; /缓冲区数组DatagramSocket socket=new DatagramSocket(port); /实例化数据报SocketDatagramPacket 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 JFrameJTextField 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); /设置窗口可视setDefau