一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java實現文件保存到本地的方法

java實現文件保存到本地的方法

2020-08-02 11:59園芳寶貝 Java教程

本篇文章主要介紹了java實現文件保存到本地的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本篇介紹了java實現文件保存本地的方法,具體代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
private void savePic(InputStream inputStream, String fileName) {
 
    OutputStream os = null;
    try {
      String path = "D:\\testFile\\";
      // 2、保存到臨時文件
      // 1K的數據緩沖
      byte[] bs = new byte[1024];
      // 讀取到的數據長度
      int len;
      // 輸出的文件流保存到本地文件
 
      File tempFile = new File(path);
      if (!tempFile.exists()) {
        tempFile.mkdirs();
      }
      os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
      // 開始讀取
      while ((len = inputStream.read(bs)) != -1) {
        os.write(bs, 0, len);
      }
 
    } catch (IOException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      // 完畢,關閉所有鏈接
      try {
        os.close();
        inputStream.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }

文件保存方法.

附:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
package com.ebways.web.upload.controller;
 
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
 
import com.ebways.web.base.BaseController;
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 com.ebways.web.upload.url.UploadURL;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
@Controller
@RequestMapping(value = UploadURL.MODE_NAME)
public class UploadController extends BaseController {
 
  @RequestMapping(value = UploadURL.IMAGE_UPLOAD)
  @ResponseBody
  public String uploadFile(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IllegalArgumentException, Exception {
    // 參數列表
    Map<String, Object> map = new HashMap<>();
    map.put("file", file);
    savePic(file.getInputStream(), file.getOriginalFilename());
 
    //請求接口
    String apiReturnStr = "";//apiHttpRequest(map, API_HOST_URL + "/image/upload");
 
    return apiReturnStr;
  }
 
  private void savePic(InputStream inputStream, String fileName) {
 
    OutputStream os = null;
    try {
      String path = "D:\\testFile\\";
      // 2、保存到臨時文件
      // 1K的數據緩沖
      byte[] bs = new byte[1024];
      // 讀取到的數據長度
      int len;
      // 輸出的文件流保存到本地文件
 
      File tempFile = new File(path);
      if (!tempFile.exists()) {
        tempFile.mkdirs();
      }
      os = new FileOutputStream(tempFile.getPath() + File.separator + fileName);
      // 開始讀取
      while ((len = inputStream.read(bs)) != -1) {
        os.write(bs, 0, len);
      }
 
    } catch (IOException e) {
      e.printStackTrace();
    } catch (Exception e) {
      e.printStackTrace();
    } finally {
      // 完畢,關閉所有鏈接
      try {
        os.close();
        inputStream.close();
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }
 
  /**
   * <p class="detail">
   * 功能:公共Action
   * </p>
   *
   * @date 2016年9月8日
   * @author wangsheng
   */
  private String allowSuffix = "jpg,png,gif,jpeg";//允許文件格式
  private long allowSize = 2L;//允許文件大小
  private String fileName;
  private String[] fileNames;
 
  public String getAllowSuffix() {
    return allowSuffix;
  }
 
  public void setAllowSuffix(String allowSuffix) {
    this.allowSuffix = allowSuffix;
  }
 
  public long getAllowSize() {
    return allowSize * 1024 * 1024;
  }
 
  public void setAllowSize(long allowSize) {
    this.allowSize = allowSize;
  }
 
  public String getFileName() {
    return fileName;
  }
 
  public void setFileName(String fileName) {
    this.fileName = fileName;
  }
 
  public String[] getFileNames() {
    return fileNames;
  }
 
  public void setFileNames(String[] fileNames) {
    this.fileNames = fileNames;
  }
 
 
  /**
   * <p class="detail">
   * 功能:重新命名文件
   * </p>
   *
   * @return
   * @author wangsheng
   * @date 2016年9月8日
   */
  private String getFileNameNew() {
    SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddHHmmssSSS");
    return fmt.format(new Date());
  }
 
  /**
   * <p class="detail">
   * 功能:文件上傳
   * </p>
   *
   * @param files
   * @param destDir
   * @throws Exception
   * @author wangsheng
   * @date 2014年9月25日
   */
  public void uploads(MultipartFile[] files, String destDir, HttpServletRequest request) throws Exception {
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
    try {
      fileNames = new String[files.length];
      int index = 0;
      for (MultipartFile file : files) {
        String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
        int length = getAllowSuffix().indexOf(suffix);
        if (length == -1) {
          throw new Exception("請上傳允許格式的文件");
        }
        if (file.getSize() > getAllowSize()) {
          throw new Exception("您上傳的文件大小已經超出范圍");
        }
        String realPath = request.getSession().getServletContext().getRealPath("/");
        File destFile = new File(realPath + destDir);
        if (!destFile.exists()) {
          destFile.mkdirs();
        }
        String fileNameNew = getFileNameNew() + "." + suffix;//
        File f = new File(destFile.getAbsoluteFile() + "\\" + fileNameNew);
        file.transferTo(f);
        f.createNewFile();
        fileNames[index++] = basePath + destDir + fileNameNew;
      }
    } catch (Exception e) {
      throw e;
    }
  }
 
  /**
   *功能:文件上傳
   *
   * @param file
   * @param destDir
   * @throws Exception
   * @author wangsheng
   * @date 2016年9月8日
   */
  public void upload(MultipartFile file, String destDir, HttpServletRequest request) throws Exception {
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path;
    try {
      String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".") + 1);
      int length = getAllowSuffix().indexOf(suffix);
      if (length == -1) {
        throw new Exception("請上傳允許格式的文件");
      }
      if (file.getSize() > getAllowSize()) {
        throw new Exception("您上傳的文件大小已經超出范圍");
      }
 
      String realPath = request.getSession().getServletContext().getRealPath("/");
      File destFile = new File(realPath + destDir);
      if (!destFile.exists()) {
        destFile.mkdirs();
      }
      String fileNameNew = getFileNameNew() + "." + suffix;
      File f = new File(destFile.getAbsoluteFile() + "/" + fileNameNew);
      file.transferTo(f);
      f.createNewFile();
      fileName = basePath + destDir + fileNameNew;
    } catch (Exception e) {
      throw e;
    }
  }
 
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/gmq-sh/p/5852096.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 贤妻良母电影日本 | 人与动videos | 天天做日日做天天添天天欢公交车 | 白丝美女同人18漫画 | porno美国xxxx| 乌克兰成人性色生活片 | 亚洲精品久久啪啪网站成年 | 好湿好紧太硬了我太爽了h 好湿好滑好硬好爽好深视频 | 无人区1在线观看 | 色男人影院 | 2018久久精品热在线观看 | 国产精品久久久久无毒 | 亚洲福利天堂 | 被教官揉了一晚上的奶小说 | 三星w999| 干操视频 | 变态女王麻麻小说在线阅读 | 国产a不卡片精品免费观看 国产aaa伦理片 | 日韩亚洲国产欧美精品 | 久久久WWW免费人成精品 | 欧美成人免费观看国产 | 护士伦理片 | 美女被躁了在线观看视频 | 肥胖女人一级毛片 | 动漫人物差差差动漫人物免费观看 | 亚州人成网在线播放 | 天天综合色天天综合色sb | 久久草福利自拍视频在线观看 | 欧美成人香蕉在线观看 | 免费观看俄罗斯特黄特色 | 婷婷中文 | 韩国美女激情vip | 给我免费的视频在线观看 | 免费看日韩 | 福利国产精品 | 国产传媒在线播放 | 四影虎库最新2021 | 加勒比一本大道香蕉在线视频 | 精品高潮呻吟99AV无码 | 亚洲精品久久久久久婷婷 | 亚洲入口|