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

📄 sendfile.java

📁 服务器端源文件:btServer-20050819.zip
💻 JAVA
字号:
package btServer;

import java.io.ByteArrayOutputStream;
import java.io.OutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

import javax.bluetooth.UUID;
import javax.microedition.io.Connector;
import javax.obex.ClientSession;
import javax.obex.HeaderSet;
import javax.obex.Operation;
import javax.obex.ResponseCodes;

import btServer.UUIDGen;

public class sendFile {
    private UUIDGen newUUID = new UUIDGen();
    
    public sendFile(String f, String c){
        // Locate selected file
	    File tempFile = null;
	    tempFile = new File(System.getProperty("user.dir") + File.separator + "files" + File.separator + f);
        if (!tempFile.exists()) {            return;        }
        //System.out.println(tempFile.toString());
        
        // Convert file to byte array
	    byte[] file2send = null;
        byte[] buff = new byte[1024];
        ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
        
        try {
            FileInputStream fin = new FileInputStream(tempFile);
            while (true) {                
               int length = fin.read(buff);
               if (length == -1) break;			                
               baos.write(buff,0,length);                	                	     	        	    		        	
            }
            file2send = baos.toByteArray();
        } catch (IOException e) {}
                
        // Find services on client and generate URL
        UUID[] uuids = { new UUID(0x1106) };
        findServices fs = new findServices(c,newUUID.generateUUID(),uuids);
                
        try {
            // Setup OBEX session                     
            ClientSession session = (ClientSession) Connector.open(fs.getUrl());
            HeaderSet head = session.connect(null);
            
            int responseCode = head.getResponseCode();
            if (responseCode != ResponseCodes.OBEX_HTTP_OK) {
                throw new IOException();
            } 
                   
            // Create PUT headers           
            HeaderSet headers = session.createHeaderSet();
            headers.setHeader(HeaderSet.LENGTH, new Long(file2send.length));
            headers.setHeader(HeaderSet.NAME,f);
            headers.setHeader(HeaderSet.TYPE,"binary");            
            Operation operation = session.put(headers);
            
            OutputStream out = operation.openOutputStream();                              
            out.write(file2send);
            out.flush();
                                                               
            session.disconnect(null);
            session.close();
            out.close();
            operation.close();
            
            System.out.println("Done.");            
        } catch (Exception e) {
            System.out.println(e.toString());               
        }                
    }
    
    public static void main(String[] args) {
        sendFile sf = new sendFile("sky.jar","000A2874B063");
        //sendFile sf2 = new sendFile("sky.jar","000EEDF4ADD4");        
        //sendFile sf2 = new sendFile("aiko2.jpg","000EEDF4ADD4");
        System.exit(0);
    }
}

⌨️ 快捷键说明

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