小弟初学不久,目前的手机程序已经可以进行数据的接收并且存入sD卡,(前端是一个单片机控制蓝牙串口模块发送数据)。可是经过仔细观察,发现程序工作很不稳定,经常会出现大的波动,丢掉成片的数据。实在不清楚是什么原因,程序修改都没修改过,为什么会有如此大的起伏?以下是读写部分的代码:
        byte b[] = new byte[1024] ;       
        try {
         inStream.read(b,0,1024);
         System.out.println(new String(b));
        } catch (Exception e) {
         System.out.println("写入数据异常");
        }

        //以下 的是将数据流中的数据写入根目录下的data文件中
        try{
File f = new File(SDPATH + "data.txt");
out = new FileOutputStream(f);
//while((inStream.read(b)) != -1){
while(D){
out.write(b,0,1024);
System.out.println("正在存储数据");
out.flush();
inStream.read(b,0,1024);
}

解决方案 »

  1.   

    代码贴错了,应该是这个:byte b[] = new byte[1024] ;       
            try {
             inStream.read(b,0,1024);
             System.out.println(new String(b));
            } catch (Exception e) {
             System.out.println("写入数据异常");
            }

            //以下 的是将数据流中的数据写入根目录下的data文件中
            try{
    File f = new File(SDPATH + "data.txt");
    out = new FileOutputStream(f);
    while((inStream.read(b)) != -1){

    out.write(b,0,1024);
    System.out.println("正在存储数据");
    out.flush();
    inStream.read(b,0,1024);
    }

    out.flush();