有朋友問我天天哪裏找時間寫這麼多文章。java
做爲一個程序員,固然要善於利用各類工具提升本身作事情的效率了。若是沒有現成的工具,就得本身造。git
我寫文章通常是在雲筆記裏編輯,完成以後直接複製粘貼到自媒體平臺。我有一個需求,可以把雲筆記裏包含的全部圖片批量下載到本地某個文件夾裏,這樣我就能夠批量上傳文件到自媒體平臺,省去了手工一張張上傳的麻煩。程序員
我曾經寫過一篇文章:使用ABAP批量下載有道雲筆記中的圖片,然而ABAP在程序員中間不是很普及,因而我又寫了一個Java版本的。github
使用方式很簡單。多線程
咱們知道每篇有道雲筆記都有一個獨一無二的uuid做爲標識。把這個uuid複製粘貼,工具
把拷貝的值放到第82行main行數的guid變量裏,直接執行,能夠看到輸出,首先個人代碼會判斷這個筆記包含了多少張圖片,而後會以多線程的方式去並行下載圖片。ui
最後全部下載好的圖片都存儲在一個和筆記同名的文件夾下面:線程
多線程下載的核心代碼以下,我使用了JDK裏提供的ExecutorService:code
private static void start(List<DownloadTask> task){ if( task.isEmpty()){ System.out.println("No picture to download!"); return; } System.out.println("Total pic to be downloaded: " + task.size()); ExecutorService executor = Executors.newFixedThreadPool(10); for( int i = 0; i < task.size(); i++){ PictureDownloader cc = new PictureDownloader(task.get(i)); executor.execute(cc); } executor.shutdown(); while (!executor.isTerminated()) { } System.out.println("download finished"); }
完整代碼在個人github上,請隨意下載使用:blog
https://github.com/i042416/JavaTwoPlusTwoEquals5/tree/master/src/youdao
要獲取更多Jerry的原創文章,請關注公衆號"汪子熙":