我正在开发一个外汇汇率应用程序,它从特定网址下载数据,然后搜索包含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中描述的值?
抱歉我的英文。
答案 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()方法。