主要函数就是下面这个方法
private fun downLoadFile() {
//文档所在服务器地址
val url = "http://host099229.79.game3939.com/adArra.txt"
val filePath = context.getExternalFilesDir(null)
//下载后文档保存地址
val outPath = "$filePath/outPath.txt"
val myURL = URL(url)
val conn: URLConnection = myURL.openConnection()
conn.connect()
val `is`: InputStream = conn.getInputStream() ?: throw RuntimeException("stream is null")
val os: OutputStream = FileOutputStream(outPath)
val buf = ByteArray(1024)
val numread = `is`.read(buf)
os.write(buf, 0, numread)
`is`.close()
os.close()
}
这只是一个简单的例子,还需要进一步完善,例如下载的缓存大小只设置了1024,需要下载大文件的话,则需要反复读取输入流,然后在写入文件。而且为方便演示直接写了固定的rul,实际使用应该把url作为参数写入该函数。