先講下java append的用法java
Stringbuffer 有append()方法,Stringbuffer實際上是動態字符串數組,append()是往動態字符串數組添加字符串,相似於"xx"+"yy"的那個+號。web
String1+String2 和Stringbuffer1.append("yyyy")雖然打印效果同樣,但在內存中表示卻不同spring
String1+String2 存在於不一樣的兩個地址內存
Stringbuffer1.append(Stringbuffer2)放再一塊兒
數組
文件上傳app
import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.springframework.web.multipart.MultipartFile; /** * 圖片寫入方法 * @param fileExtends 文件後綴 * @param file 文件 * @param flag 區分(0:用戶logo;1:用戶背景圖) * @return 文件路徑 */ public String writeFile(String fileExtends, MultipartFile file,String flag){ //獲得上傳文件的保存目錄,將上傳的文件存放於WEB-INF目錄下 StringBuffer savePath = new StringBuffer().append(this.getServletContext().getRealPath("/WEB-INF/upload")); File dir = new File(savePath.toString()); //判斷上傳文件的保存目錄是否存在 if(!dir.exists()){ System.out.println(savePath+"目錄不存在,須要建立"); //建立目錄 dir.mkdirs(); } if ("0".equals(flag)) { //若是是用戶logo,則圖片以img.png結尾 savePath .append("/img.").append(fileExtends); }else if ("1".equals(flag)){ //若是是用戶背景圖,則圖片以bg.png結尾 savePath .append("/bg.").append(fileExtends); } try { //上傳流 byte[] bytes = file.getBytes(); BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(new File(savePath.toString()))); stream.write(bytes); stream.close(); } catch (IOException e) { e.printStackTrace(); return null; } return savePath; }