文档章节

Java--文件上传与下载

求是科技
 求是科技
发布于 2015/10/19 19:02
字数 343
阅读 125
收藏 5

先讲下java append的用法

Stringbuffer 有append()方法,Stringbuffer其实是动态字符串数组,append()是往动态字符串数组添加字符串,类似于"xx"+"yy"的那个+号。

String1+String2 和Stringbuffer1.append("yyyy")虽然打印效果一样,但在内存中表示却不一样

String1+String2 存在于不同的两个地址内存
Stringbuffer1.append(Stringbuffer2)放再一起

文件上传

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;
    }




© 著作权归作者所有

共有 人打赏支持
求是科技
粉丝 89
博文 456
码字总数 228627
作品 0
成都
后端工程师
如何用NetBeans在Kindle3下开发小程序(Kindlet)

以前写的,转过来 如何用NetBeans在Kindle3下开发小程序(Kindlet) 今天研究了一下这方面的帖子,基本上明白了一些原理,主要参考这两个贴,首先感谢这些程序员的无私奉献: 【Kindlet 开发过...

FreeBlues
2012/06/25
0
0
Linux系统梳理---系统搭建(一):jdk卸载与安装

1.去官网下载符合Linux版本的jdk,暂用jdk-8u171-linux-x64.rpm 2.登陆Linux,进入usr目录,创建java目录(方便管理,可以其他位置):mkdir java 3.上传下载的jdk包至Linux服务器,使用rz指令(sz f...

勤奋的蚂蚁
07/16
0
0
Linux JDK安装及环境变量配置

一.检查和下载JDK 1.检查系统是否已经安装了JDK,如果安装了,先卸载,具体方法请看: http://my.oschina.net/liting/blog/358498 2.从官网选择一个对应的版本下载 JDK最新版本下载:http://...

码农狗
2015/04/04
0
0
在linux下用tomcat部署java web项目的过程与注意事项

在linux下用tomcat部署java web项目的过程与注意事项(原创) 一.安装JDK 到http://www.oracle.com/technetwork/java/javase/downloads/index.html下载JavaSE 6 Update 27 根据操作系统选择Lin...

陈小默
2015/11/13
0
0
Centos7安装jdk1.8

1、首先下载jdk1.8 去官网下载jdk ,上传到/usr/local/src目录 2、检查当前系统是否已经安装openJDK,如果已经安装进行卸载 检查openJDK是否安装命令:rpm -qa grep jdk 卸载命令:yum -y re...

北岩
06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java异常处理最佳实践

总结一些Java异常的处理原则 Java异常处理最佳实践 不要忘记关闭资源 在finally里关闭资源 public void readFile() { FileInputStream fileInputStream = null; File file = new Fil...

yysue
59分钟前
1
0
00.编译OpenJDK-8u40的整个过程

前言 历经2天的折腾总算把OpenJDK给编译成功了,要说为啥搞这个,还得从面试说起,最近出去面试经常被问到JVM的相关东西,总感觉自己以前学的太浅薄,所以回来就打算深入学习,目标把《深入理...

凌晨一点
今天
4
0
python: 一些关于元组的碎碎念

初始化元组的时候,尤其是元组里面只有一个元素的时候,会出现一些很蛋疼的情况: def checkContentAndType(obj): print(obj) print(type(obj))if __name__=="__main__": tu...

Oh_really
昨天
6
2
jvm crash分析工具

介绍一款非常好用的jvm crash分析工具,当jvm挂掉时,会产生hs_err_pid.log。里面记录了jvm当时的运行状态以及错误信息,但是内容量比较庞大,不好分析。所以我们要借助工具来帮我们。 Cras...

xpbob
昨天
124
0
Qt编写自定义控件属性设计器

以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用...

飞扬青云
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部