android 播放器乱码,Android assets目录下文件读取乱码解决办法

private static class MyDbOpenHelper extends SQLiteOpenHelper{

private Context c;

public MyDbOpenHelper(Context context, String name,

CursorFactory factory, int version) {

super(context, name, factory, version);

c = context;

}

@Override

public void onCreate(SQLiteDatabase db) {

Log.d("Sandy", "onCreate database");

//execute when user invoke getReadDatabase/getWriteDatabase

//当用户第一次程序的时候,我们会调用这里,创建我们的表。

db.execSQL("CREATE TABLE " + RAW_DATA_TABLE + " ("

+ RawData._ID + " INTEGER PRIMARY KEY,"

+ RawData.COLUMN_ISSUE + " TEXT,"

+ RawData.COLUMN_NUMBER_ONE + " TEXT,"

+ RawData.COLUMN_NUMBER_TWO + " TEXT , "

+ RawData.COLUMN_NUMBER_THREE + " TEXT,"

+ RawData.COLUMN_NUMBER_FOUR + " TEXT,"

+ RawData.COLUMN_NUMBER_FIVE + " TEXT,"

+ RawData.COLUMN_NUMBER_SIX + " TEXT,"

+ RawData.COLUMN_NUMBER_SEVEN + " TEXT"

+ ");");

ContentValues cv = new ContentValues();

//声明解析文件的文件流对象

InputStream in = null;

BufferedReader reader = null;

try {

//通过AssetManager读取文件

in = c.getResources().getAssets().open("qixingcai-data.txt", AssetManager.ACCESS_BUFFER);

//构造BufferedReader对象,以便逐行读取

reader = new BufferedReader(new InputStreamReader(in));

String line ;

//逐行读取文件内容,读取一行,就把这一行数据进行拆分,然后保存进数据库

while((line = reader.readLine()) != null){

cv.clear();

//根据分割符"-"和" "进行数据拆分,然后把得到的数据放到ContentValues对象中

String[] issueAndNumber = line.split("-");

String[] numbers = issueAndNumber[1].split(" ");

cv.put(RawData.COLUMN_ISSUE, issueAndNumber[0]);

cv.put(RawData.COLUMN_NUMBER_ONE, numbers[0]);

cv.put(RawData.COLUMN_NUMBER_TWO, numbers[1]);

cv.put(RawData.COLUMN_NUMBER_THREE, numbers[2]);

cv.put(RawData.COLUMN_NUMBER_FOUR, numbers[3]);

cv.put(RawData.COLUMN_NUMBER_FIVE, numbers[4]);

cv.put(RawData.COLUMN_NUMBER_SIX, numbers[5]);

cv.put(RawData.COLUMN_NUMBER_SEVEN, numbers[6]);

//插入数据库

db.insert(RAW_DATA_TABLE, "_id", cv);

Log.d("Sandy", "issueAndNumber[0]" + issueAndNumber[0]

+ "one: " + numbers[0] + " all: " + issueAndNumber[1]);

}

} catch (IOException e) {

Log.d("Sandy", "", e);

}finally{

if (in != null){

try {

in.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (reader != null){

try {

reader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值