国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java讀取PHP接口數據的實現方法

2019-11-26 13:59:26
字體:
來源:轉載
供稿:網友

和安卓是一個道理,讀取json數據

PHP文件:

<?phpclass Test{  //日志路徑  const LOG_PATH="E:/phpServer/Apache/logs//error.log";  //顯示的行數  const PAGES=50;  public static function main(){    header("content-type:text/html;charset=utf-8");        if(!empty($_GET['action'])){      if(!method_exists('Test',$_GET['action'])){        echo "404";      }else{        self::$_GET['action']();      }      exit;    }  }  public static function showApacheLogs(){    $test=new Test();    $result=$test->readLogs(self::LOG_PATH,self::PAGES);    $json=array();    for($i=0;$i<count($result);$i++){      $line=$result[$i];      //注意這里,如果處理會json解析失敗      $line=str_replace("/r/n", "", $line);      $result[$i]=array("num"=>$i+1,"msg"=>urlencode($line));    }    $str=stripslashes(urldecode(json_encode($result)));    echo $str;  }    /**  * 讀取日志  */  private function readLogs($filePath,$num=20){    $fp = fopen($filePath,"r");    $pos = -2;     $eof = "";     $head = false;  //當總行數小于Num時,判斷是否到第一行了     $lines = array();     while($num>0){       while($eof != "/n"){         if(fseek($fp, $pos, SEEK_END)==0){  //fseek成功返回0,失敗返回-1           $eof = fgetc($fp);           $pos--;         }else{                //當到達第一行,行首時,設置$pos失敗           fseek($fp,0,SEEK_SET);           $head = true;          //到達文件頭部,開關打開           break;         }                }       array_unshift($lines,fgets($fp));       if($head){ break; }         //這一句,只能放上一句后,因為到文件頭后,把第一行讀取出來再跳出整個循環       $eof = "";       $num--;     }     fclose($fp);     return array_reverse($lines);   }}Test::main();

java文件:

import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL;import org.json.JSONArray;import org.json.JSONObject;public class ReadLogs {  public static void main(String[] args) throws Exception {    URL url = new URL("http://localhost/test.php?action=showApacheLogs");    HttpURLConnection conn = (HttpURLConnection) url.openConnection();    conn.setConnectTimeout(10000);    conn.setRequestMethod("GET");    conn.setDoInput(true);    conn.setDoOutput(true);    // 輸出返回結果    InputStream input = conn.getInputStream();    int resLen =0;    byte[] res = new byte[1024];    StringBuilder sb=new StringBuilder();    while((resLen=input.read(res))!=-1){      sb.append(new String(res, 0, resLen));    }        String jsonStr=sb.toString();    //String轉換成JSON    JSONArray jsonArray=new JSONArray(jsonStr);    for(int i=0;i<jsonArray.length();i++){      JSONObject jsonObject=new JSONObject(jsonArray.getString(i));      String msg=(String) jsonObject.get("msg");      int num=(int) jsonObject.get("num");      System.out.println(num+":"+msg);    }  }}

以上這篇java讀取PHP接口數據的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 霍邱县| 尚志市| 田林县| 仪陇县| 济源市| 瓮安县| 金阳县| 木兰县| 扬中市| 塔城市| 贞丰县| 安新县| 凤台县| 邯郸县| 游戏| 镇安县| 元谋县| 铜鼓县| 壶关县| 麻阳| 古田县| 江达县| 临漳县| 邯郸县| 玉屏| 高平市| 阿克苏市| 武川县| 平泉县| 九江市| 金门县| 唐海县| 东台市| 新沂市| 海兴县| 岳池县| 平利县| 济源市| 庆元县| 南乐县| 武功县|