一个解析的小代码

自己写的注释的一个解析代码,不知道对不对呢。。。。

public void DataTrans(){
  InputStream in = getResources().openRawResource(R.raw.testsubject);
  BufferedReader br = null;
  try{
   br = new BufferedReader(new InputStreamReader(in,"gb2312"));
  }catch(UnsupportedEncodingException e1){
   Log.e("debug",e1.toString());
  }
  String tmp,body;//声明变量用来暂时存储临时的一行题
  String TESTSUBJECT;//测试题目
  String TESTANSWER;//测试答案是哪个
  String ANSWERA;
  String ANSWERB;
  String ANSWERC;
  
  int TESTTYPE;//测试类型
  int TESTBELONG;//属于哪种测试
  int EXPR1;//探测器,管理器
  
  String[] strings = new String[13];//定义一个大小为13的字符串数组用来装数据
  ContentValues values = new ContentValues();//键值对,存题与答案
  try {
   //然后对数据库操作
   DBAdapter dbAdapter = new DBAdapter(this);
   dbAdapter.open();
   while((tmp = br.readLine())!= null){
    //当读一行不是空,则分割
    strings = tmp.split("#");
    //然后存入对应的变量
    TESTSUBJECT = strings[1];
      TESTANSWER= strings[2];
      TESTTYPE = Integer.parseInt(strings[3]);
      TESTBELONG = Integer.parseInt(strings[4]);
      ANSWERA = strings[5];
      ANSWERB = strings[6];
      ANSWERC = strings[7];
      EXPR1 = Integer.parseInt(strings[8]);
      
      values.clear();
      values.put(DBAdapter.TESTSUBJECT, TESTSUBJECT);
      values.put(DBAdapter.TESTANSWER, TESTANSWER);
      values.put(DBAdapter.TESTTYPE, TESTTYPE);
      values.put(DBAdapter.TESTBELONG, TESTBELONG);
      values.put(DBAdapter.ANSWERA, ANSWERA);
      values.put(DBAdapter.ANSWERB, ANSWERA);
      values.put(DBAdapter.ANSWERC, ANSWERA);
      values.put(DBAdapter.EXPR1, EXPR1);
      //把值都放入数据库中相应的标识后再插入到数据库当中
      dbAdapter.DBInsert(values);
         Log.i(tmp, tmp);
   }
   br.close();
   in.close();
   body = "";//设body为空字符串
   Cursor cursor = dbAdapter.getAllData();//获得所有数据信息
   body += cursor.getCount();//获得信息的条数
  } catch (Exception e) {
   // TODO: handle exception
   Log.e("debug", e.toString());
  }
 }

 

你可能感兴趣的:(一个解析的小代码)