国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Android 通過TCP協議上傳指定目錄文件的方法

瀏覽:78日期:2022-09-25 14:23:49

為了方便客戶抓取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<allFiles.length();i++){ try { JSONObject o = (JSONObject) allFiles.get(i); String path = o.getString('path'); String name = o.getString('name'); FileInputStream fis=new FileInputStream(path); if(fis!=null){ InputStreamReader inputreader = new InputStreamReader(fis); BufferedReader buffreader = new BufferedReader(inputreader); String line; while ((line=buffreader.readLine())!=null){ //按行讀取文件內容 os.write(line.getBytes()); os.write('rn'.getBytes());//向服務器端發送文件 } buffreader.close(); inputreader.close(); } fis.close(); } catch (JSONException e) { e.printStackTrace(); } } //關閉客戶端輸出流,中斷上傳 socket.shutdownOutput(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } }.start(); } /** * 獲取指定目錄內所有文件路徑 * @param dirPath 需要查詢的文件目錄 */ public static JSONArray getAllFiles(JSONArray fileList,String dirPath) { File f = new File(dirPath); if (!f.exists()) {//判斷路徑是否存在 return null; } File[] files = f.listFiles(); if(files==null){//判斷權限 return null; } for (File _file : files) {//遍歷目錄 if(_file.isFile()){ String _name=_file.getName(); String filePath = _file.getAbsolutePath();//獲取文件路徑 int end=_file.getName().lastIndexOf(’.’); String fileName = _file.getName().substring(0,end);//獲取文件名 try { JSONObject _fInfo = new JSONObject(); _fInfo.put('name', fileName); _fInfo.put('path', filePath); fileList.put(_fInfo); }catch (Exception e){ } } else if(_file.isDirectory()){//查詢子目錄 getAllFiles(fileList,_file.getAbsolutePath()); } else{ } } return fileList; }

必須聲明一下權限:

<uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE' /><uses-permission android:name='android.permission.READ_EXTERNAL_STORAGE' /><uses-permission android:name='android.permission.INTERNET'></uses-permission>

設計思路:

1首先通過第三方應用傳過來的Log路徑,通過遍歷該路徑,得到該目錄下的所有文件,保存到集合中,

2然后通過socker建立通信,通信建立成功后開始傳輸日志,

3讀取指定目錄下的日志文件,解析內容傳輸到服務端,

4日志按行讀取,

5內容頭部增加TAG以區分不同應用的日志

服務端是因為有現成的軟件,所以這里就不做解析了。

LogUtil.uploadLog('storage/emulated/0/C28Log/CarRecorderLog','10.0.16.252',8088);

Android 通過TCP協議上傳指定目錄文件的方法

總結

到此這篇關于Android 通過TCP協議上傳指定目錄文件的文章就介紹到這了,更多相關android 上傳指定目錄文件內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Android
相關文章:
主站蜘蛛池模板: 日韩三级免费 | 国产偷国产偷亚洲高清在线 | 久久亚洲精品中文字幕三区 | 九九这里只精品视在线99 | 毛片网站在线播放 | 色噜噜国产精品视频一区二区 | 久久综合中文字幕一区二区三区 | 二级毛片在线播放 | 精品国产一区二区三区在线观看 | 性欧美欧美巨大69 | 国产成人一区二区视频在线观看 | 在线精品欧美日韩 | 亚洲乱人伦精品图片 | 美女黄色片免费 | 永久免费毛片手机版在线看 | 99精品福利视频在线一区 | 麻豆国产一区 | 深夜福利视频在线观看免费播放 | 三级手机在线观看 | 农村寡妇一级毛片免费播放 | 欧美亚洲一区二区三区 | 九九九国产 | 国产国模福利视频 | 久久精品久久精品国产大片 | 欧洲做人爱c欧美 | 国产免费一区二区三区免费视频 | 欧美一级看片 | 欧美在线成人免费国产 | 日本一视频一区视频二区 | 久久久久久久久综合 | 欧美视频精品在线观看 | 久久99亚洲精品久久99 | 99久久99热久久精品免费看 | 久久久久久国产精品免费 | 亚洲伊人色综合网站亚洲伊人 | 欧美日韩国产片 | 在线观看人成网站深夜免费 | 色综合久久加勒比高清88 | 久久福利资源站免费观看i 久久高清精品 | 欧美在线一区二区三区不卡 | 国内精品久久影院 |