说到下载,其实C#里的网络模块,真的是被各种封装,最终就看你对这个语言中库的熟悉程度了。
抛开C#中IO效率的弊病不说,真的很容易,记住,太过于注重效率或者追求极致,你将会死的很惨,有时候折中才是最好的解决方案。
说不多说,上代码,http同步下载,在主线程,同步下载主线程是锁死的,不用知道下载进度,我在下篇http异步下载中,会给出获取进度的方法。
Stream outStream; HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.1.1:8080/Music.mp3"); WebResponse response = request.GetResponse(); Stream inStream = response.GetResponseStream();//获取http byte[] b = new byte[1024];//每一次获取的长度 FileInfo fi= new FileInfo(Application.persistentDataPath + "/Music.mp3"); //Application.persistentDataPath为unity安卓下可读可写的目录 outStream = fi.Create();//创建文件 int readCount = inStream.Read(b, 0, b.Length);//读流 while (readCount > 0) { outStream.Write(b, 0, readCount);//写流 readCount = inStream.Read(b, 0, b.Length);//再读流 } outStream.Close(); inStream.Close(); response.Close();
下一篇:unity http异步下载