如何搜索从文本文件值 [英] How to search value from textfile

查看:180
本文介绍了如何搜索从文本文件值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是从服务器通过在URL中使用校名作为参数,现在即时通讯让我的应用程序脱机.suppose如果我得到来自服务器的所有schoolname和文本文件保存在SD卡上如何给予schoolname我做本地serch主页schoolname歌厅学校信息作为参数??

  URL2 = www.xyz + ElementarySchools;
           URL2 = www.xyz + MiddleSchools;
              URL2 = www.xyz +,高中;          尝试{
         Log.i(URL2,+ URL2);        HttpClient的客户端=新DefaultHttpClient();
         HttpConnectionParams
                .setConnectionTimeout(client.getParams(),15000);
        HttpConnectionParams.setSoTimeout(client.getParams(),15000);
        HttpUriRequest要求=新HTTPGET(URL2);
        HTT presponse响应= client.execute(请求);
        InputStream的atomInputStream = response.getEntity()的getContent()。
        在的BufferedReader =新的BufferedReader(新
                  InputStreamReader的(atomInputStream),8192);        串线;
        字符串str =;
        而((行= in.readLine())!= NULL){
            STR + =行;
        }                            JSONObject的json2 =新的JSONObject(STR);        状态= json2.getString(状态);
        如果(status.equals(1)){
            消息=数据;            JSONArray学校= json2.getJSONArray(数据);            的for(int i = 0; I< school.length();我++){
                的JSONObject对象= school.getJSONObject(I)                Category_ID.add(的Long.parseLong(对象
                        .getString(学校ID)));
                Category_name.add(object.getString(名字));            }        }
                                }    }赶上(MalformedURLException的E){
        // TODO自动生成catch块
        e.printStackTrace();
    }赶上(IOException异常五){
        // TODO自动生成catch块
        IOConnect = 1;
        e.printStackTrace();
    }赶上(JSONException E){
        // TODO自动生成catch块
        e.printStackTrace();
    }
              {身份:1,数据:
           {学校ID:321,名:查韦斯,手机:,电子邮件:,
          地址:,信息:,形象:,CALENDAR_ID:2,ID:147,level_id:1
          头衔:小学},      {学校ID:319,名:中央,手机:,电子邮件:,
     地址:,信息:,形象:,CALENDAR_ID:2
     ID:145,level_id:1,称号:小学},      {学校ID:318,名:卡佛,手机:,电子邮件:,
    地址:,信息:,形象:,CALENDAR_ID:2
    ID:144,level_id:1,称号:小学},  {学校ID:317,名:卡森,手机:,电子邮件:,
  地址:,信息:,形象:,CALENDAR_ID:2,标识:143,
   level_id:1,称号:小学}, {学校ID:316,名:卡德曼,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
 ID:142,level_id:1,称号:小学}, {学校ID:315,名:卡布里洛,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
 ID:141,level_id:1,称号:小学}, {学校ID:314,名:伯班克,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:2
 ID:140,level_id:1,称号:小学}, {学校ID:313,名:布恩,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:2
 ID:139,level_id:1,称号:小学},{学校ID:498,名:萨莫拉诺,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:2
 ID:324,level_id:1,称号:小学}, {学校ID:451,名:潘兴,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
 ID:277,level_id:2,称号:中学}, {学校ID:454,名:$ P $猫,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
 ID:280,level_id:2,称号:中学},{学校ID:457,名:莱利,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
 ID:284,level_id:2,称号:中学},{学校ID:462,名:罗斯福,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
ID:288,level_id:2,称号:中学},{学校ID:468,名:SCPA,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
ID:294,level_id:2,称号:中学},{学校ID:478,名:斯坦德利,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
 ID:304,level_id:2,称号:中学}, {学校ID:431,名:缪尔,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
ID:258,level_id:3,称号:高中}, {学校ID:439,名:奥法雷尔,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
 ID:267,level_id:3,称号:高中},
{学校ID:452,名:洛马岬,手机:,电子邮件:,
 地址:,信息:,形象:,CALENDAR_ID:1
ID:278,level_id:3,称号:高中}, {学校ID:454,名:$ P $猫,手机:,电子邮件:,
地址:,信息:,形象:,CALENDAR_ID:1
ID:281,level_id:3,称号:高中},
 {学校ID:466,名:圣地亚哥,手机:,电子邮件:,地址:,
 信息:,形象:,CALENDAR_ID:1
ID:292,level_id:3,称号:高中}]}


解决方案

只要打开文本文件并阅读所有文字,然后就看你是否解析JSON成对象或整个字符串运行的IndexOf。

下面是如何从文件中读取文本,

 公共字符串READFILE(文件fFileIn)抛出IOException
    如果(fFileIn == NULL)回报;
    (!fFileIn.exists())如果返回;    FIS的FileInputStream =新的FileInputStream(fFileIn);
    字节[] bContent =新的字节[(int)的(fFileIn.length()+ 1)];
    fis.read(bContent);
    返回新的String(bContent,Charset.defaultCharset());
}

I'm geting school information from server by using school name as parameter in URL now i m making my application offline .suppose if i get all schoolname from server and save in textfile in sd card how do i locally serch schoolname by give schoolname as parameter??

          URL2=www.xyz+ElementarySchools;
           URL2=www.xyz+MiddleSchools;
              URL2=www.xyz+HighSchools;



          try {
         Log.i("URL2",""+URL2);

        HttpClient client = new DefaultHttpClient();
         HttpConnectionParams
                .setConnectionTimeout(client.getParams(), 15000);
        HttpConnectionParams.setSoTimeout(client.getParams(), 15000);
        HttpUriRequest request = new HttpGet(URL2);
        HttpResponse response = client.execute(request);
        InputStream atomInputStream = response.getEntity().getContent();
        BufferedReader in = new BufferedReader(new    
                  InputStreamReader(atomInputStream), 8192);

        String line;
        String str = "";
        while ((line = in.readLine()) != null) {
            str += line;
        }



                            JSONObject json2 = new JSONObject(str);

        status = json2.getString("status");
        if (status.equals("1")) {
            message = "data";

            JSONArray school = json2.getJSONArray("data");

            for (int i = 0; i < school.length(); i++) {
                JSONObject object = school.getJSONObject(i);

                Category_ID.add(Long.parseLong(object
                        .getString("school_id")));
                Category_name.add(object.getString("name"));

            }

        }


                                }

    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        IOConnect = 1;
        e.printStackTrace();
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }








              {"status":1,"data":[
           {"school_id":"321","name":"Chavez","phone":"","email":"",
          "address":"","information":"","image":"","calendar_id":"2","id":"147","level_id":"1",
          "title":"Elementary Schools"},  

      {"school_id":"319","name":"Central","phone":"","email":"", 
     "address":"","information":"","image":"","calendar_id":"2",
     "id":"145","level_id":"1","title":"Elementary Schools"},

      {"school_id":"318","name":"Carver","phone":"","email":"",
    "address":"","information":"","image":"","calendar_id":"2",
    "id":"144","level_id":"1","title":"Elementary Schools"},

  {"school_id":"317","name":"Carson","phone":"","email":"",
  "address":"","information":"","image":"","calendar_id":"2","id":"143",
   "level_id":"1","title":"Elementary Schools"},

 {"school_id":"316","name":"Cadman","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
 "id":"142","level_id":"1","title":"Elementary Schools"},

 {"school_id":"315","name":"Cabrillo","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
 "id":"141","level_id":"1","title":"Elementary Schools"},

 {"school_id":"314","name":"Burbank","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"2",
 "id":"140","level_id":"1","title":"Elementary Schools"},

 {"school_id":"313","name":"Boone","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"2",
 "id":"139","level_id":"1","title":"Elementary Schools"},

{"school_id":"498","name":"Zamorano","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"2",
 "id":"324","level_id":"1","title":"Elementary Schools"},

 {"school_id":"451","name":"Pershing","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
 "id":"277","level_id":"2","title":"Middle Schools"},

 {"school_id":"454","name":"Preuss","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
 "id":"280","level_id":"2","title":"Middle Schools"},

{"school_id":"457","name":"Riley","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
 "id":"284","level_id":"2","title":"Middle Schools"},

{"school_id":"462","name":"Roosevelt","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
"id":"288","level_id":"2","title":"Middle Schools"},

{"school_id":"468","name":"SCPA","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
"id":"294","level_id":"2","title":"Middle Schools"},

{"school_id":"478","name":"Standley","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
 "id":"304","level_id":"2","title":"Middle Schools"},

 {"school_id":"431","name":"Muir","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
"id":"258","level_id":"3","title":"High Schools"},

 {"school_id":"439","name":"O'Farrell","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
 "id":"267","level_id":"3","title":"High Schools"},


{"school_id":"452","name":"Point Loma","phone":"","email":"",
 "address":"","information":"","image":"","calendar_id":"1",
"id":"278","level_id":"3","title":"High Schools"},

 {"school_id":"454","name":"Preuss","phone":"","email":"",
"address":"","information":"","image":"","calendar_id":"1",
"id":"281","level_id":"3","title":"High Schools"},


 {"school_id":"466","name":"San Diego","phone":"","email":"","address":"",
 "information":"","image":"","calendar_id":"1",
"id":"292","level_id":"3","title":"High Schools"}]}

解决方案

Just open the text file and read all text, then it's up to you whether parse the JSON into objects or run an IndexOf on entire string.

Here's how to read text from a file,

public String readFile(File fFileIn) throws IOException{
    if(fFileIn == null) return "";
    if(!fFileIn.exists()) return "";

    FileInputStream fis = new FileInputStream(fFileIn);
    byte [] bContent = new byte[(int) (fFileIn.length() + 1)];
    fis.read(bContent);
    return new String(bContent, Charset.defaultCharset());
}

这篇关于如何搜索从文本文件值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆