gpt4 book ai didi

Java 代码从网站获取数据并将其写入文本文件

转载 作者:行者123 更新时间:2023-12-01 11:32:59 24 4
gpt4 key购买 nike

我是高中 AP 计算机科学类(class)的学生,作为期末项目,我必须制作一个库存管理应用程序。

其中一部分需要一个过程,每次打开股票应用程序时,它都会获取 Yahoo! 上的数据(股票名称、代码和当前价格)。 Finance,并将其写入名为 Results.txt 的文本文件。随后,在整个程序中,会重复引用该文件以获取名称和价格。

我有使用扫描仪读取文件的代码,如下所示,所以我想我应该稍后引用这些数据,但我不知道如何获取数据并将其写入文件。

我可以使用什么 Java 代码,以便每次运行前端代码时,它都会首先访问雅虎财经并将股票数据写入文件供我使用?

这是我从文件中逐行读取数据到字符串 ArrayList 的方法

public ArrayList<String> readFile(File f){
ArrayList<String> lines = new ArrayList<String>();
try{
a = new Scanner(f);
}catch(FileNotFoundException e){
System.out.println("File not found");
}

while(a.hasNextLine())
lines.add(a.nextLine());
return lines;
}

F 将是传递给它的文件,无论是结果文件还是事务历史文件,我打算让它返回一个行数组列表给我。这个效果好吗?

最佳答案

为了更方便使用,我建议您将可序列化对象写入文件。

我猜你使用了java-yahoo-finance实现你的工作。

Maven 项目中:

  • 添加以下依赖项,

    <dependency>
    <groupId>com.yahoofinance-api</groupId>
    <artifactId>YahooFinanceAPI</artifactId>
    <version>1.3.0</version>
    </dependency>
  • 从网络获取数据并写入文件

        Stock stock = YahooFinance.get("INTC");
    File file = new File(RESULT_PATH);
    if (!file.exists()){
    file.createNewFile();
    }

    MyStock myStock = new MyStock();
    myStock.setName(stock.getName());
    myStock.setSymbols(stock.getSymbol());
    myStock.setPrice(stock.getQuote().getPrice().doubleValue());

    ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(file));
    os.writeObject(myStock);
    os.close();

由于 Stock 不可序列化,因此我们创建一个 MyStock 类。

class MyStock implements Serializable{

private String name;
private String symbols;
private double price;
// setter and getter
}
  • 从文件中读取

    MyStock stock = null;

    try {

    ObjectInputStream is = new ObjectInputStream(new FileInputStream(new File(RESULT_PATH)));
    stock = (MyStock)is.readObject();
    }catch (Exception e){
    e.printStackTrace();
    }
    return stock;

一旦在这里获取了MyStock对象,就可以直接处理它了。

关于Java 代码从网站获取数据并将其写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30271284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com