先讲下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; }