Mr_xiao_cai
Mr_xiao_cai
  • 发布:2016-03-18 15:00
  • 更新:2018-03-28 15:38
  • 阅读:2414

java中的read (byte[] b) 方法读字节流,用native.js怎么实现

分类:Native.js
2016-03-18 15:00 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

此类api 使用转化native.js有问题,不支持。

  • 1***@163.com

    请问您怎么知道不支持的,没有办法了吗?


    2020-02-11 17:17

Mr_xiao_cai

Mr_xiao_cai (作者)

            if (bluetoothSocket.isConnected()) {  
            	console.log('开始接收数据');  
          
				var buffer = new ArrayBuffer(1024);  
                var InputStream = bluetoothSocket.getInputStream();  
                plus.android.importClass(InputStream);  

       			var count = InputStream.read();  

蓝牙的这段读数据流,,该怎么写

望月孤魂

望月孤魂

可使用原生实现一个文件读取返回String,然后通过native.js调用这个类,避免在js中使用byte[],代码如下:
原生代码:

package com.dcfs.teller.smartmobile.test;  
  
import java.io.FileInputStream;  
import java.io.FileNotFoundException;  
import java.io.IOException;  
  
public class File {  
	public static String readFileSync(String path){  
		java.io.File file = new java.io.File(path);  
		System.out.println(file.canRead());  
		System.out.println(file.exists());  
		if(file.exists() && file.canRead()){  
			FileInputStream fi = null;  
			try {  
				fi = new FileInputStream(file);  
				int length = fi.available();  
				byte[] bytes = new byte[length];  
				fi.read(bytes);  
				String data = new String(bytes,"UTF-8");  
				return data;  
			} catch (FileNotFoundException e) {  
				return "";  
			} catch(IOException e2){  
				return "";  
			} catch(Exception e3){  
				return "";  
			}finally{  
				if(fi != null){  
					try {  
						fi.close();  
					} catch (IOException e) {  
					}  
				}  
			}  
		}else{  
			return "";  
		}  
	}  
}

js代码:

var jsFile = plus.io.convertLocalFileSystemURL('_www/js/app.update.js');  
var File = plus.android.importClass('com.dcfs.teller.smartmobile.test.File');  
var data = File.readFileSync(jsFile);

该问题目前已经被锁定, 无法添加新回复