ユーザーが jpg 画像のリンクのリストを入力して、URL から jpg ファイルをダウンロードするためのアプレットをプログラムしようとしています。JCreator のコンパイラでこの手順を使用すると、うまく機能します。しかし、アプレットに入れると、扱えなくなりました。以下にプログラムのactionlistener部分とメソッドをあげておきます。なぜそれが機能しないのか分かりますか?
アクション リスナー:
class DownloadListener implements ActionListener
{
public void actionPerformed(ActionEvent event)
{
String line = links.getText();
String[] linkarray = line.split("\n");
//int numOfLinks = linkarray.length;
String directoryUser = directory.getText();
try{
downloadImg(linkarray, directoryUser);
}
catch(IOException ex){
deneme.setText(ex.toString() + "Could not find file");
}
}
}
方法:
public void downloadImg(String[] linkarray, String directoryUser) throws IOException
{
for(int i=0; i<linkarray.length; i++)
{
URL url = new URL(linkarray[i]);
InputStream in = new BufferedInputStream(url.openStream());
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
int n = 0;
while (-1!=(n=in.read(buf)))
{
out.write(buf, 0, n);
}
out.close();
in.close();
byte[] response = out.toByteArray();
int j = 1;
String address = directoryUser + "/" + "oda" + Integer.toString(j) + ".jpg";
BufferedOutputStream fos = new BufferedOutputStream(new FileOutputStream(address));
fos.write(response);
fos.close();
j++;
}
}