Java OpenConnection don';不能导入全部内容
我想从URL导入xml文件 我的代码是:Java OpenConnection don';不能导入全部内容,java,file-io,Java,File Io,我想从URL导入xml文件 我的代码是: URL url = new URL(partnersEntity.getUrl()); URLConnection urlConnection = url.openConnection(); urlConnection.setReadTimeout(55000); File file = new File(fileURL); FileWriter w
URL url = new URL(partnersEntity.getUrl());
URLConnection urlConnection = url.openConnection();
urlConnection.setReadTimeout(55000);
File file = new File(fileURL);
FileWriter writer = new FileWriter(file);
IOUtils.copy(urlConnection.getInputStream(), writer);
问题是,XML文件有60000行,但我的导入只保存11000行
问题在哪里
我可以设置内容长度吗?所有输入输出对象都是资源,应该关闭这些对象,否则将导致资源泄漏或丢失未刷新的缓冲区(您的案例)。它应该在try finally块中完成。对于您的场景:
URL url = new URL(partnersEntity.getUrl());
URLConnection urlConnection = url.openConnection();
urlConnection.setReadTimeout(55000);
InputStream is = urlConnection.getInputStream();
try
{
File file = new File(fileURL);
FileWriter writer = new FileWriter(file);
try
{
IOUtils.copy(is, writer);
}
finally
{
IOUtils.closeQuietly(writer);
}
}
finally
{
IOUtils.closeQuietly(is);
}
在Java 7中,可以使用新的try语法:
URL url = new URL(partnersEntity.getUrl());
URLConnection urlConnection = url.openConnection();
urlConnection.setReadTimeout(55000);
File file = new File(fileURL);
try(
InputStream is = urlConnection.getInputStream();
FileWriter writer = new FileWriter(file);
)
{
IOUtils.copy(is, writer);
}
您是否有
writer.close()
?好的,这就是问题所在,坦斯克