• javaweb 上传文件使用NIO进行读写


    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestParam;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.multipart.MultipartFile;

    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.nio.ByteBuffer;
    import java.nio.channels.FileChannel;
    import java.util.UUID;

    @Controller
    public class MailSend {

    @Value("${uploadpath:}")
    private String uploadpath;

    @RequestMapping("/uploadfile")
    @ResponseBody
    public Object uploadfile(@RequestParam("file")MultipartFile file){
    FileInputStream fis = null;
    FileOutputStream fos = null;

    try {
    fis = (FileInputStream) file.getInputStream();
    fos = new FileOutputStream(new File(uploadpath + "\" + UUID.randomUUID().toString() +"_" +file.getName()));

    FileChannel inChannel = fis.getChannel();
    FileChannel outChannel = fos.getChannel();

    int capacity = 1024;
    ByteBuffer buffer = ByteBuffer.allocate(capacity);
    int len = -1;
    while( (len=inChannel.read(buffer))!=-1 ){
    buffer.flip();

    int length = 0;
    while (( length=outChannel.write(buffer) )!=0){

    }
    buffer.clear();
    }
    inChannel.close();
    outChannel.close();
    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    try {
    fis.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    try {
    fos.close();
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    return null;
    }

    }
    ————————————————
    版权声明:本文为CSDN博主「临窗,听雨声」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/yali_aini/article/details/91543519

  • 相关阅读:
    结构体的malloc与数组空间
    绘制K线图
    加载文件
    数据分析(绘图)
    GIT操作
    疑难杂症汇总
    Shell编程2
    shell编程1
    shell命令2
    Shell命令1
  • 原文地址:https://www.cnblogs.com/niudaxianren/p/12456362.html
Copyright © 2020-2023  润新知