文档章节

Java--文件上传与下载

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

先讲下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
博文 453
码字总数 228281
作品 0
成都
后端工程师
如何用NetBeans在Kindle3下开发小程序(Kindlet)

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

FreeBlues
2012/06/25
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中实现FTP上传下载文件的功能,完整代码

一个JAVA 实现FTP功能的代码,包括了服务器的设置模块,并包括有上传文件至FTP的通用方法、下载文件的通用方法以及删除文件、在ftp服务器上穿件文件夹、检测文件夹是否存在等,里面的有些代码...

Carl_
2014/11/12
0
4
libcurl在android下的移植、编译与测试以及java接口的封装

curl是利用URL语法在命令行方式下工作的文件传输工具 它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。 curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT...

zhoulc
2013/03/05
0
2
八步教你在笔记本电脑创建Hadoop本地实例!

  【IT168 评论】要想进入大数据领域,Hadoop是一件非常重要的事情,它具有复杂的安装过程,大量的集群,数百台机器以及TB(或者PB)级别的数据等。但实际上,用户可以下载简单的JAR并在个人...

it168网站
05/25
0
0
hadoop在linux上单机安装过程心得

昨天我在我的一台linux上安装了一下hadoop的1.1.2版本,并简单的使用了一下,感觉hadoop就向一个linux虚拟机,可以在上面创建文件夹、放文件,删除文件夹、删除文件,只是它NB的地方是可以帮...

BLUE-魏晓峰
2013/07/06
0
0
freebsd安装JDK1.6 及一些小问题

我们到/usr/ports/java/jdk16安装jdk16的时候,直接stop了。原来这个安装包是需要我们自己到http: //download.java.net/jdk6/6u3/promoted/b05/index.html把三个安装包下载到/usr/ports /dis...

芒果龙
2011/10/24
0
0
Linux 免密 Shell 工具 - jssh

简介 linux scp(文件上传,下载) shell命令的java ssh jar和linux expect工具,主要是避免shell 密码手工输入带来的麻烦(免密ssh,scp),简单易用,方便上手(源码不多)。 说明 jssh.jar 使用...

车江毅
06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
20分钟前
5
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部