您好我正在尝试在我的程序中编写一些代码,以便我可以从互联网上获取文件,但似乎无法正常工作。有人可以给我一些建议吗?这是我的代码。在这种情况下,我尝试从last.fm网站下载一个mp3文件,我的代码运行完全正常,但当我打开我的下载目录时,文件不存在。有什么想法吗?
public class download {
public static void main(String[] args) throws IOException {
String fileName = "Death Grips - Get Got.mp3";
URL link = new URL("http://www.last.fm/music/+free-music-downloads");
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);
}
out.close();
in.close();
byte[] response = out.toByteArray();
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(response);
fos.close();
System.out.println("Finished");
}
}
答案 0 :(得分:2)
每个正在执行的程序都有当前工作目录。通常,它是可执行文件所在的目录(如果它以“正常”方式启动)。
由于您未指定路径(在fileName
中),因此该文件将在当前工作目录中以该名称保存。
如果要将文件保存在下载目录中,请指定完整路径。 E.g。
String fileName = "C:\\Users\\YOUR_USERNAME\\Downloads\\Death Grips - Get Got.mp3";
请注意我escaped the backslashes的方式。另请注意,joining paths in Java有方法。有一种方法可以获得current working directory in Java。