您的当前位置:首页正文

java编程经典案例与模板

来源:画鸵萌宠网
(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;iif (files[i].isDirectory()){ //如果这是一个目录

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();

}

}

因篇幅问题不能全部显示,请点此查看更多更全内容

Top