• Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二)


    Intent intent = getIntent();
            String contentUri = null;
            Uri uri =null;
            if (intent.getData() != null) {
                uri = intent.getData();
                contentUri = "file".equals(uri.getScheme())
                        ? FileContentProvider.BASE_URI + uri.getEncodedPath()
                        : uri.toString();
                String intentType = intent.getType();
                if (intentType != null) {
                    contentUri += "?" + intentType;
                }
            }
            File mFile = new File(uri.getPath());
            InputStream mIn = null;
            try{
                Log.d(LOGTAG,"file is "+mFile);
                mIn = new FileInputStream(mFile);
                byte[]b = new byte[3];
                mIn.read(b);
                
                mIn.close();
                Log.d(LOGTAG,"B is "+b[0]+b[1]+b[2]);
                if (b[0]==-27||(b[0]==-17&&b[1]==-69&&b[2]==-65))  {
                    s.setDefaultTextEncodingName("utf-8");//added by chenxuan for SWBUG00027593
                 }
                else{
                    s.setDefaultTextEncodingName("GBK");
                    }
             }catch(FileNotFoundException e){
                Toast.makeText(this,R.string.file_inexistence,Toast.LENGTH_SHORT).show();
                finish();
                return;
             }catch(IOException ex){
                finish();
                Toast.makeText(this, R.string.read_file_failed,Toast.LENGTH_SHORT).show();
                return;
            }
  • 相关阅读:
    2019 SDN上机第5次作业
    iOS 多线程
    安装pygame
    五分钟学会ios反编译
    反编译ipa包
    Flutter 混合开发(一)
    iOS开发-block异步实现return
    Mac下Anaconda的安装和使用
    挣值分析
    【PMP】挣值分析
  • 原文地址:https://www.cnblogs.com/bill-technology/p/4130930.html
Copyright © 2020-2023  润新知