following code for reading server file using bluetooth
package phone; /*original imports */ import java.io.*; import java.util.*; import javax.microedition.io.*; /* switch of J2se netbeans dev kit */ import javax.bluetooth.*; // import javax.obex.*;
/* add the de.aventna obex */ import de.avetana.bluetooth.obex.OBEXConnection; import de.avetana.bluetooth.obex.HeaderSetImpl; import de.avetana.bluetooth.obex.CommandHandler; import de.avetana.bluetooth.obex.MD5; import de.avetana.bluetooth.obex.OperationImpl; import de.avetana.bluetooth.obex.SessionNotifierImpl; import de.avetana.javax.obex.Authenticator; import de.avetana.javax.obex.ClientSession; import de.avetana.javax.obex.HeaderSet; import de.avetana.javax.obex.Operation; import de.avetana.javax.obex.PasswordAuthentication; import de.avetana.javax.obex.ResponseCodes; import de.avetana.javax.obex.ServerRequestHandler; import de.avetana.javax.obex.ServiceRegistrationException; import de.avetana.javax.obex.SessionNotifier;
class FTClient implements DiscoveryListener { LocalDevice local = null; DiscoveryAgent agent = null; int[] attrSet = null; RemoteDevice btDev = null; String serviceURL = null; ClientSession con = null; HeaderSet hdr = null;
public FTClient() throws BluetoothStateException{
// initialize the stack, if needed
local = LocalDevice.getLocalDevice();
agent = local.getDiscoveryAgent();
agent.startInquiry(DiscoveryAgent.GIAC, this);
}
public void deviceDiscovered(RemoteDevice btDevice,DeviceClass cod){
btDev = btDevice;
System.out.println("Device discovered " +
btDevice.getBluetoothAddress());
}
public void servicesDiscovered(int transID, ServiceRecord[] servRecord){
System.out.println("Discovered a service ....");
for(int i =0; i < servRecord.length; i++){
serviceURL =
servRecord[i].getConnectionURL(ServiceRecord.NOAUTHENTICATE_NOENCRYPT,
true);
System.out.println("The service URL is " + serviceURL);
}
}
public void serviceSearchCompleted(int transID, int respCode)
{
System.out.println("Service search completed ........... ");
System.out.println("Opening a connection with the server ....");
try
{
con = (ClientSession)Connector.open(serviceURL);
hdr = con.connect(hdr);
System.out.println("Response code of the server after connect..." +
hdr.getResponseCode());
//Sending a request to server for file Hello.txt
hdr = con.createHeaderSet();
hdr.setHeader(HeaderSet.TYPE,"text/vCard");
hdr.setHeader(HeaderSet.NAME,"Hello.txt");
Operation op = con.get(hdr);
//The server is now sending the file
InputStream in = op.openInputStream();
// Writing the file from server to local file system.
StreamConnection filestream =
(StreamConnection)Connector.open("file://name=HelloFile.txt;mode=w");
OutputStream out = filestream.openOutputStream();
//read and write the data
int data = in.read();
while(data != -1)
{
out.write((byte)data);
data = in.read();
}
op.close();
in.close();
out.close();
}
catch(IOException e){
System.out.println(e.getMessage());
}
}
public void inquiryCompleted(int discType)
{
System.out.println("Inquiry completed ... ");
UUID[] uuids = new UUID[1];
uuids[0] = new UUID("1106",true);
try{
if(btDev == null){
System.out.println("No device has been discovered, " +
"hence not worth proceeding exiting .... ");
System.exit(1);
}
System.out.println("Now searching for services ........ ");
agent.searchServices(attrSet, uuids, btDev, this);
}
catch(BluetoothStateException e) {System.out.println(e.getMessage());}
}
public static void main(String args[]) throws IOException {
FTClient client = new FTClient();
}
}
/*Operation op = con.get(hdr); */
here Operation op = con.get(hdr); get() method throwing IOEexception
how to handle that exception