下面是“Java通过URL读取文件内容示例”的完整攻略。首先,我们需要了解一下读取文件的过程:
- 获取文件的URL地址;
- 通过URL对象打开连接,获得输入流;
- 通过输入流读取文件的内容;
- 关闭输入流,关闭连接。
接下来,我们来看两条示例。
示例1:通过URL读取文本文件
import java.io.*;
import java.net.*;
public class ReadTextFileFromURL {
public static void main(String[] args) {
try {
// 1. 获取文件的URL地址
URL url = new URL("http://example.com/file.txt");
// 2. 通过URL对象打开连接,获得输入流
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
// 3. 通过输入流读取文件的内容
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
// 4. 关闭输入流,关闭连接
in.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这个示例中,我们使用了BufferedReader
类来读取文本文件,并把每一行文本打印到控制台上。
示例2:通过URL读取二进制文件
import java.io.*;
import java.net.*;
public class ReadBinaryFileFromURL {
public static void main(String[] args) {
try {
// 1. 获取文件的URL地址
URL url = new URL("http://example.com/file.bin");
// 2. 通过URL对象打开连接,获得输入流
InputStream in = url.openStream();
// 3. 通过输入流读取文件的内容
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) != -1) {
out.write(buffer, 0, length);
}
// 将二进制数据存到本地文件中
FileOutputStream fos = new FileOutputStream("file.bin");
fos.write(out.toByteArray());
// 4. 关闭输入流,关闭连接
in.close();
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
在这个示例中,我们使用了InputStream
类来读取二进制文件,并把读取到的二进制数据存储到本地文件中。
以上就是两条通过Java通过URL读取文件内容的示例攻略。需要注意:在读取完成后,一定要及时关闭输入流和连接,否则会产生资源泄露的问题。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java通过url读取文件内容示例 - Python技术站