撇号符号,欧元符号和英镑符号没有从远程文本文件中取出

时间:2014-05-21 13:01:06

标签: java android android-emulator bufferedreader android-fonts

在我的Android应用程序中,我从远程位置获取文本文件的内容。代码在

之下
        URL textUrl;
        try {
        textUrl = new URL("http://myurl/data.txt");
        BufferedReader bufferReader = new BufferedReader(
                new InputStreamReader(textUrl.openStream()));
        String StringBuffer;

        while ((StringBuffer = bufferReader.readLine()) != null) {

            list.add(StringBuffer);

        }
        bufferReader.close();

    } catch (MalformedURLException e) {
    } catch (IOException e) {
    }

    return list;

我的问题是我没有得到确切的数据。文件中的数据是

  

USA | US 100's / 50's | 1.23 || 0 |

     

| US $ 20/10/5 | 1.23 | 1.259 | 0 | 1.259

     

|中科大| 0.00 | 0.00 | 0 | 0.00

     

JPN |日元1,000 | 1.20 | 1.247 | 0 | 0.00

     

GBP | GBP£1 | 2.08 | 2.116 | 0 | 0.00

     

欧元|欧元1欧元| 1.705 | 1.731 | 0 | 0.00

我得到的数据是

  

美国|美国100 s/50 s| 1.23 || 0 |

     

| US $ 20/10/5 | 1.23 | 1.259 | 0 | 1.259

     

|中科大| 0.00 | 0.00 | 0 | 0.00

     

JPN |日元1,000 | 1.20 | 1.247 | 0 | 0.00

     

GBP | GBP 1 | 2.08 | 2.116 | 0 | 0.00

     

欧元|欧元 1单位| 1.705 | 1.731 | 0 | 0.00

撇号,欧元符号和英镑符号被 符号替换。

我在模拟器和设备上都得到了相同的结果。

我无法在远程txt文件中执行任何操作。

我如何获得确切数据?

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

1)弄清楚文件中使用的编码,正如@laalto所说。这里的编码是" windows-1252"。

2)然后将代码编辑为

 BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream(), "windows-1252"));

这对我来说很好。