为了方便客户抓取Log,现通过TCP协议连接指定服务器,传输指定内容,定义指定目录,IP,PORT字段接收参数。直接上代码
public static void uploadLog(final String dirPath, final String IP, final int port ) {
JSonArray fileList = new JSonArray();
final JSonArray allFiles = getAllFiles(fileList,dirPath);
if(allFiles==null)return;
new Thread(){
@Override
public void run() {
super.run();
try {
Socket socket=new Socket(IP,port);
if(!socket.isConnected())return; //判断是否建立连接
OutputStream os = socket.getOutputStream();
int index = dirPath.lastIndexOf("/")+1;
os.write(dirPath.substring(index).getBytes());//TAG
os.write("rn".getBytes());
for (int i=0;i
必须声明一下权限:
设计思路:
1首先通过第三方应用传过来的Log路径,通过遍历该路径,得到该目录下的所有文件,保存到集合中,
2然后通过socker建立通信,通信建立成功后开始传输日志,
3读取指定目录下的日志文件,解析内容传输到服务端,
4日志按行读取,
5内容头部增加TAG以区分不同应用的日志
服务端是因为有现成的软件,所以这里就不做解析了。
LogUtil.uploadLog("storage/emulated/0/C28Log/CarRecorderLog","10.0.16.252",8088);
总结
到此这篇关于Android 通过TCP协议上传指定目录文件的文章就介绍到这了,更多相关android 上传指定目录文件内容请搜索考高分网以前的文章或继续浏览下面的相关文章希望大家以后多多支持考高分网!



