⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileserver.java

📁 蓝牙 Obex 源码 J2me 初学者必须的东西
💻 JAVA
字号:
import javax.swing.*;          import java.awt.*;import java.awt.event.*;import javax.microedition.io.*;import java.io.*;import javax.bluetooth.*;import javax.obex.*;public class FileServer extends ServerRequestHandler implements ActionListener{	JLabel spacerlabel = new JLabel(" ");	JButton startButton = new JButton("Start Server");	JTextArea textarea = new JTextArea("",20, 40);		public FileServer(){		//Give it the Java look and feel		JFrame.setDefaultLookAndFeelDecorated(true);			JFrame frame = new JFrame("FileServer ");		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);		JScrollPane scrollPane = new JScrollPane(textarea);					textarea.setEditable(false);			Container cp = frame.getContentPane();		cp.setLayout(new BoxLayout(cp, BoxLayout.Y_AXIS));		startButton.setAlignmentX(Component.CENTER_ALIGNMENT);		startButton.addActionListener(this);		cp.add(startButton);				spacerlabel.setAlignmentX(Component.CENTER_ALIGNMENT);		cp.add(spacerlabel);				scrollPane.setAlignmentX(Component.CENTER_ALIGNMENT);		cp.add(scrollPane);		frame.pack();		frame.setVisible(true);		updateStatus("[server:] FileServer Application started");		updateStatus("[server:] Press the \"Start Server\" button to await for client devices");	}	public void actionPerformed(ActionEvent e) {		startButton.setEnabled(false);				try {			UUID uuid = new UUID("8841", true);			String url = "btgoep://localhost:" + uuid + ";name=FTP;authenticate=false;master=false;encrypt=false";			SessionNotifier sn = (SessionNotifier)Connector.open(url);			updateStatus("[server:] Now waiting for a client to connect");			sn.acceptAndOpen(this);					updateStatus("[server:] A client is now connected");			} catch (Exception ex){		}						}	public int onConnect(HeaderSet request, HeaderSet reply) {		updateStatus("[server:] The client has created an OBEX session");		return ResponseCodes.OBEX_HTTP_OK;	}			public int onPut (Operation op) {		try {			java.io.InputStream is = op.openInputStream();						updateStatus("Got data bytes " + is.available() + " name " + op.getReceivedHeaders().getHeader(HeaderSet.NAME) + " type " + op.getType());						File f = new File((String)op.getReceivedHeaders().getHeader(HeaderSet.NAME));			FileOutputStream fos = new FileOutputStream (f);			byte b[] = new byte[1000];			int len;						while (is.available() > 0 && (len = is.read(b)) > 0) {				fos.write (b, 0, len);			}						fos.close();			updateStatus("[server:] Wrote data to " + f.getAbsolutePath());		} catch (Exception e) { 			e.printStackTrace(); 		}								return ResponseCodes.OBEX_HTTP_OK;	}							public void onDisconnect (HeaderSet req, HeaderSet resp) {								updateStatus("[server:] The client has disconnected the OBEX session");									}	public void updateStatus(String message){		textarea.append("\n" + message);	}	public static void main(String[] args) {		new FileServer();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -