读取properties文件
利用java自带的工具类读取配置文件,配置文件放在根目录如下
配置文件内容如下
email.host=smtp.qq.com
email.port=25
email.from=qiuz567@qq.com
username=qiuz567@qq.com
password=hwozmdipqogldbcb
读取文件的代码如下
import java.util.ResourceBundle;
public class TestA {
private static final ResourceBundle bundle = ResourceBundle.getBundle("mail");
private static final String sendFrom = bundle.getString("email.from");
private static final String username = bundle.getString("username");
private static final String password = bundle.getString("password");
private static final String host = bundle.getString("email.host");
public static void main(String[] args) {
System.out.println(sendFrom);
System.out.println(username);
}
}
读取文件作为流
文件放置如上图所示
以在web端下载为例,需要先将文件读取到服务器内存,代码如下
package com.web;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
@RestController
@RequestMapping("/download")
public class DownloadFile {
@RequestMapping("excel")
public String excel(HttpServletResponse response) {
InputStream inputStream = DownloadFile.class.getClassLoader().getResourceAsStream("资源导入模板.xls");
response.setContentType("application/x-download");
try {
response.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode("资源导入模板.xls", "UTF-8"));
OutputStream outputStream = response.getOutputStream();
byte[] buffer = new byte[1024];
int i = inputStream.read(buffer);
while (i != -1){
outputStream.write(buffer,0,i);
i = inputStream.read(buffer);
}
return "下载成功";
} catch (IOException e) {
e.printStackTrace();
}finally {
if(inputStream != null){
try {
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return "下载失败";
}
}