从android

时间:2016-03-03 15:55:34

标签: android file inputstream

我在包含一个长json字符串的项目的assets文件夹中有一个'diagnosis.txt'文件,当我尝试获取该字符串时,它会在字符串的开头附加垃圾并在中间添加'\' JSON。任何人都可以告诉如何删除这个垃圾文本吗?

垃圾:

  

{\ RTF1 \ ANSI \ ansicpg1252 \ cocoartf1343 \ cocoasubrtf140   {\ fonttbl \ f0 \ fmodern \ fcharset0 Courier;}   {\ colortbl; \ red255 \ green255 \ blue255; \ red0 \ green0 \ blue0;}   \ margl1440 \ margr1440 \ vieww10800 \ viewh8400 \ viewkind0   \ deftab720   \ PARD \ pardeftab720   \ f0 \ fs24 \ cf2 \ expnd0 \ expndtw0 \ kerning0   \ outl0 \ strokewidth0 \ strokec2 [{“code”:“A000”,“description”:“由于霍乱弧菌01霍乱,生物变种霍乱”},{“代码”:“A001”,“描述”:“霍乱由于霍乱弧菌01,biovar eltor“},{”代码“:”A009“,”描述“:”霍乱,未说明“},{”代码“:”A0100“,”描述“:”伤寒,未说明“}} }

public static String loadJSONFromAsset(Context context) throws IOException {

    String json = null;
    try {

        InputStream is = context.getAssets().open("diagnosis.txt");

        int size = is.available();

        byte[] buffer = new byte[size];

        is.read(buffer);

        is.close();

        json = new String(buffer, "UTF-8");


    } catch (IOException ex) {
        ex.printStackTrace();
        return null;
    }
    return json;

}

1 个答案:

答案 0 :(得分:1)

该数据存在于文件本身中,您只是在文本编辑器中看不到它。

使用其他文本编辑器,切换到纯文本,清理文件,您的问题将得到解决。

您的代码运行正常。

以下是如何在TextEdit中切换或转换为纯文本的示例: http://www.tekrevue.com/tip/textedit-plain-text-mode/