將輸入流形式的檔案儲存到本地
阿新 • • 發佈:2020-09-01
方法實現
1 /** 2 * 將輸入流形式的檔案儲存到本地 3 * @param filePath 檔案儲存的目錄 4 * @param fileName 檔名稱 5 * @return 6 */ 7 public static File saveUrlAs(String filePath,String fileName){ 8 //建立不同的資料夾目錄 9 File file = new File(filePath); 10 //判斷資料夾是否存在 11 if(!file.exists()){ 12 //如果資料夾不存在,則建立新的的資料夾 13 file.mkdirs(); 14 } 15 FileOutputStream fos = null; 16 InputStream is = null; 17 BufferedInputStream bis = null; 18 BufferedOutputStream bos = null; 19 try{ 20 File f = newFile("E:/test.txt"); 21 is = new FileInputStream(f); 22 bis = new BufferedInputStream(is); 23 //判斷檔案的儲存路徑後面是否以/結尾 24 if (!filePath.endsWith("/")) { 25 filePath += "/"; 26 } 27 //寫入到檔案(注意檔案儲存路徑的後面一定要加上檔案的名稱) 28 fos = newFileOutputStream(filePath+fileName); 29 bos = new BufferedOutputStream(fos); 30 byte[] buf = new byte[4096]; 31 int length = bis.read(buf); 32 //儲存檔案 33 while(length != -1){ 34 bos.write(buf, 0, length); 35 length = bis.read(buf); 36 } 37 } catch (Exception e){ 38 e.printStackTrace(); 39 System.out.println("丟擲異常!!"); 40 } finally { 41 if(bos != null) { 42 try { 43 bos.close(); 44 }catch(Exception e) { 45 e.printStackTrace(); 46 } 47 } 48 if(bis != null) { 49 try { 50 bis.close(); 51 }catch(Exception e) { 52 e.printStackTrace(); 53 } 54 } 55 } 56 return file; 57 }
方法呼叫
1 public static void main(String[] args) { 2 String filePath = "D:/112233/"; 3 File saveUrlAs = saveUrlAs( filePath,"test2.txt"); 4 System.out.println(saveUrlAs); 5 }