sách gpt4 ai đã đi

Làm thế nào để thực thi Java từ Java?

In lại 作者:行者123 更新时间:2023-12-02 04:26:54 38 4
mua khóa gpt4 Nike

我有这个 DownloadFile.java 并按预期下载该文件:

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

public class DownloadFile {
public static void main(String[] args) throws IOException {
String fileName = "setup.exe";
// The file that will be saved on your computer
URL link = new URL("http://onlinebackup.elgiganten.se/software/elgiganten/setup.exe");
// The file that you want to download

// Code to download
InputStream in = new BufferedInputStream(link.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int n = 0;
while (-1 != (n = in.read(buf))) {
out.write(buf, 0, n);
}
ra ngoài.đóng();
ghim theo();
byte[] response = out.toByteArray();

FileOutputStream fos = new FileOutputStream(fileName);
fos.write(response);
fos.close();
// End download code

System.out.println("Finished");
}
}

我想通过 Gui.java 中的鼠标事件执行此操作。

private void jLabel17MouseClicked(java.awt.event.MouseEvent evt){

}

Tôi có thể làm điều này bằng cách nào?

1 Câu trả lời

您当前的方法是一个静态方法,这很好,但它提取的所有数据都紧紧保存在主方法中,防止其他类使用它,但幸运的是,这可以纠正。

我的建议:

  • 重新编写 DownloadFile 代码,使其不仅仅是一个静态主方法,而是一个可以被其他类轻松调用的方法,并从感兴趣的文件返回数据。这样外部类就可以调用该方法,然后接收该方法提取的数据。
  • 为其提供一个字符串参数,该参数将允许调用代码传入 URL 地址。
  • 为其提供一个要写入数据的文件的 File 参数。
  • 如果调用程序需要此数据,请考虑让它返回数据(字节数组?)。
  • 或者如果不需要返回数据,也许可以返回 boolean 值来指示下载是否成功。
  • 确保您的方法抛出它需要抛出的所有异常(例如 IO 和 URL 异常)。
  • 此外,如果要由 Swing GUI 调用此代码,请务必在后台线程(例如 SwingWorker 中)中调用此类代码,以便此代码不会占用 Swing 事件线程,从而渲染您的GUI 卡住了一段时间。

关于java - 如何从 Java 执行 Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037572/

38 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com