使用字符串转换将数据从url分配给变量(float)

时间:2012-01-14 18:43:34

标签: java android

我正在开发一个外汇汇率应用程序,它从特定网址下载数据,然后搜索包含ISO代码的字符串,该代码用另一种货币标识每种货币及其价值。我在python中开发了这个,但我试图将它移植到Java,然后移植到Android。

Python代码:使用urllib(2)

import urllib
import urllib2
from urllib import urlencode
from urllib2 import urlopen
from encodings import utf_8
import os

pg = urlopen("http://rss.timegenie.com/forex.txt")
text = pg.read().decode("utf8")

usd = text.find('USD')
start_of_priceusd = usd + 25
end_of_priceusd = start_of_priceusd + 6
priceusd = float(text[start_of_priceusd:end_of_priceusd])
.
.
.

以上代码在Python和Android中的SL4A中是正确且有效的,现在我正在尝试在Java和Android SDK中移植它。

到目前为止,我已经用标准Java编写了这个:

import java.net.*;
import java.io.*;

public class URLReader {
    public static void main(String[] args) throws Exception {
  URL curr = new URL("hhttp://rss.timegenie.com/forex.txt");
  BufferedReader in = new BufferedReader(
        new InputStreamReader(
        curr.openStream()));

  String inputLine;

  while ((inputLine = in.readLine()) != null)
      System.out.println(inputLine);

  in.close();
    }
}

那么,我如何应用字符串操作来获取浮点变量中URL中描述的值?

抱歉我的英文。

2 个答案:

答案 0 :(得分:1)

List<Float> priceList = new ArrayList<Float>();
     while ((inputLine = in.readLine()) != null){
         System.out.println(inputLine);
         String usd = inputline.substring(inputline.indexOf("USD")+25,inputline.length);     
         Float f = Float.valueOf(usd);
         priceList.add(f);              
        }
      in.close();

return priceList;

希望这会给你一些见解

答案 1 :(得分:0)

看一下StringBuilder及它的indexOf()方法。