rom*_*rav 12 csv spring spring-mvc
可能是我正在使用MultipartFile上传功能.
我必须从csv文件中读取数据,客户将通过浏览器选择这些数据.我使用MultipartFile上传文件.该文件即将进入控制器,但现在我无法从中读取csv数据.请指导最佳方法或帮助我从MultipartFile读取csv数据.jsp有
<form method="POST" action="uploadFile" enctype="multipart/form-data">
File to upload: <input type="file" name="file"> <input
type="submit" value="Upload"> Press here to upload the
file!
</form>
Run Code Online (Sandbox Code Playgroud)
控制器有
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String uploadFileHandler(@RequestParam("file") MultipartFile file) {
Run Code Online (Sandbox Code Playgroud)
谢谢.
小智 20
我使用缓冲区逐行读取并从输入流的多部分获取.也许是更多的代码,但我发现有用的阅读文本文件的行.
BufferedReader br;
List<String> result = new ArrayList<>();
try {
String line;
InputStream is = multipart.getInputStream();
br = new BufferedReader(new InputStreamReader(is));
while ((line = br.readLine()) != null) {
result.add(line);
}
} catch (IOException e) {
System.err.println(e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
我想出了一个解决方法.我将文件转换为字节,然后将字节转换为String.从String我应用string.split()来获取我想要的文件.
@RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
public String uploadFileHandler(@RequestParam("file") MultipartFile file) {
if (!file.isEmpty()) {
try {
byte[] bytes = file.getBytes();
String completeData = new String(bytes);
String[] rows = completeData.split("#");
String[] columns = rows[0].split(",");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
24480 次 |
最近记录: |