读取sd卡 文件内容

public classReadWriteStyles {

 

    StringfileDirectoryString= getSDDir() + "/" + Tags.BASE_DIR

            +Tags.CONFIG_STYLES;// 统一存储路径接口

    StringfileNameString= "styles.txt";

 

    FiledirectoryFile= null;

    FilestyleFile= null;

    FileWriterfw;

    BufferedWriterbw;

    Contextcontext;

 

    public ReadWriteStyles(Contextcontext) {

        this.context = context;

    }

 

    public List<LayerStyles>parseConfigFromJson() {

        StringfileContent = readStyleFile();

        if (fileContent.equals("") ||fileContent.length() == 0) {

            return null;

        }

        TypelistType = newTypeToken<List<LayerStyles>>(){}.getType();

        Gsongson = newGson();

        List<LayerStyles>styleslist = gson.fromJson(fileContent, listType);

        return styleslist;

    }

 

    public voidparseConfigToJson(List<LayerStyles> layerstyles) {

        TypelistType = newTypeToken<List<LayerStyles>>(){}.getType();

        Gsongson = newGson();

        StringfileContent = gson.toJson(layerstyles, listType);

        try {

            styleFile = new File(fileDirectoryString+ fileNameString);

            intlen=fileContent.getBytes().length;

            byte [] buf=new byte[len];

            buf=fileContent.getBytes();

            FileOutputStreamfo=newFileOutputStream(styleFile);

            fo.write(buf,0,len);           

            fo.close();

           

        }catch(IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

    }

   

    public String readStyleFile() {

        Stringstr = null;

        try {

            styleFile = new File(fileDirectoryString+ fileNameString);

            InputStreaminputStream = null;

            if (!styleFile.exists()) {

                showMessage("no style.txt");

            }

            inputStream= newFileInputStream(styleFile);

           

            int size =inputStream.available();

            byte[] buffer = new byte[size];

            inputStream.read(buffer);

            inputStream.close();

            str= newString(buffer,"GB2312");

        }catch(IOException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

        return str;

    }

 

    protected final String getSDDir() {

        try {

            StringSD_DIR = CompatManager.getInstance().getRegisteredContext()

                    .getExternalStorageDirectoryPath();

            return SD_DIR;

        }catch(Exception e) {

            return "";

        }

    }

 

    public boolean checkSDCard() {

        StringsdStatus = Environment.getExternalStorageState();

        if(sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 检测sd是否可用

            return true;

        }else{

            return false;

        }

    }

 

    public void showMessage(String str){

        Toast.makeText(context, str, Toast.LENGTH_SHORT).show();

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值