亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

java - 使用retrofit2下載歌詞文件后,進行保存時報空間不足的錯誤

瀏覽:81日期:2024-02-21 10:41:18

問題描述

問題:寫入一個不到2kb的文件時直接報空間不足的問題,使用的是retrofit2請求的文件,哪位大神有時間給看看是什么原因吧

報錯的詳情:D/OkHttp: --> GET http://musicdata.baidu.com/da... http/1.1D/OkHttp: <-- 200 OK http://musicdata.baidu.com/da... (98ms, 1877-byte body)D/ContentValues: onResponse: 歌詞文件請求成功I/art: Thread[2,tid=3036,WaitingInMainSignalCatcherLoop,Thread*=0xae402000,peer=0x12c930a0,'Signal Catcher']: reacting to signal 3I/art: Wrote stack traces to ’/data/anr/traces.txt’W/System.err: java.io.IOException: write failed: ENOSPC (No space left on device)W/System.err: at libcore.io.IoBridge.write(IoBridge.java:498)W/System.err: at java.io.FileOutputStream.write(FileOutputStream.java:186)W/System.err: at com.wang.mymusic.data.MusicData.lrcFile(MusicData.java:163)W/System.err: at com.wang.mymusic.data.MusicData.access$200(MusicData.java:40)W/System.err: at com.wang.mymusic.data.MusicData$3.onResponse(MusicData.java:123)W/System.err: at retrofit2.ExecutorCallAdapterFactory$ExecutorCallbackCall$1$1.run(ExecutorCallAdapterFactory.java:68)W/System.err: at android.os.Handler.handleCallback(Handler.java:739)W/System.err: at android.os.Handler.dispatchMessage(Handler.java:95)W/System.err: at android.os.Looper.loop(Looper.java:148)W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)W/System.err: at java.lang.reflect.Method.invoke(Native Method)W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)W/System.err: Caused by: android.system.ErrnoException: write failed: ENOSPC (No space left on device)W/System.err: at libcore.io.Posix.writeBytes(Native Method)W/System.err: at libcore.io.Posix.write(Posix.java:271)W/System.err: at libcore.io.BlockGuardOs.write(BlockGuardOs.java:313)W/System.err: at libcore.io.IoBridge.write(IoBridge.java:493)W/System.err: ... 12 moreI/art: Background partial concurrent mark sweep GC freed 83995(3MB) AllocSpace objects, 0(0B) LOS objects, 12% free, 27MB/31MB, paused 3.141ms total 131.690msI/art: Background sticky concurrent mark sweep GC freed 104777(4MB) AllocSpace objects, 0(0B) LOS objects, 0% free, 34MB/34MB, paused 5.311ms total 163.136ms

代碼:

//保存歌詞文件到磁盤

private File lrcFile(Context context,ResponseBody respon,String title,String author) throws IOException { //create a file File filedirectory; File file; String name=title+'_'+author+'.lrc'; if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !Environment.isExternalStorageRemovable()){filedirectory=new File(context.getExternalCacheDir()+File.separator+'lrc');file=new File(filedirectory+File.separator+name); }else {filedirectory=new File(context.getCacheDir()+File.separator+'lrc');file=new File(filedirectory+File.separator+name); } if (!filedirectory.exists()){filedirectory.mkdir(); } if(!file.exists()){file.createNewFile(); } InputStream in=respon.byteStream(); try {OutputStream out=new FileOutputStream(file);byte[] b=new byte[2048];int fileread=in.read(b);while (fileread!= -1){ out.write(b,0,fileread);}out.flush();out.close();in.close(); } catch (IOException e) {e.printStackTrace(); } return file;}

問題解答

回答1:

while (fileread!= -1){

out.write(b,0,fileread); }

這個使用循環是不對的,這塊應該將循環改成if

標簽: java
主站蜘蛛池模板: japanhdfree日本护士乱 | 97国内免费久久久久久久久久 | 成人两性高清图片视频 | 国内真实愉拍系列情侣自拍 | 永久免费mv网站入口 | 自拍偷拍欧美亚洲 | 国产午夜精品尤物福利视频 | 国产亚洲美女精品久久久久 | 国产黄色福利 | 日韩 欧美 中文字幕 不卡 | 欧美一级毛片日韩一级 | 毛片国产 | 久久99精品久久 | 免费观看国产精品视频 | 午夜激情视频在线播放 | 爱爱小视频在线观看网站 | 日本一区二区免费在线观看 | 久久精品国产一区二区三区 | 国产黄色片在线播放 | 欧美毛片日韩一级在线 | 亚洲a级黄色片 | 国产精品亚洲综合久久 | 欧美伦理片在线 | 中文国产成人精品少久久 | 草操影院| 亚洲淫片 | 国产在线观看91精品亚瑟 | 久久99精品久久久久久三级 | 成人区视频 | 92香蕉视频 | 亚洲 欧美 日韩中文字幕一区二区 | 国内成人精品亚洲日本语音 | 日本中文字幕不卡在线一区二区 | 久久久久久天天夜夜天天 | 亚洲精品影院久久久久久 | 韩国一级毛片a级免观看 | 日韩在线播放视频 | 在线免费看黄视频 | 国产欧美日韩三级 | 国产aⅴ一区二区 | 亚洲爆乳无码一区二区三区 |