java csvreader上传csv乱码问题
来源:互联网 发布:api原油数据分析 编辑:程序博客网 时间:2024/06/06 10:08
public List<String[]> parseCSVMultipartParams(long maximumFileSize) throws Exception
{
// Prevent from being called repeatedly
if (multipartParamsParsed)
return null;
multipartParamsParsed = true;
ServletFileUpload servletFileUpload = new ServletFileUpload();
// look for opId, if opId is present, then do progress listening
String opId = request.getParameter(ProfilesQNames.OPERATION_ID_PARAM);
String ssId = null;
boolean isListening = opId != null && opId.length() > 0;
if (isListening)
{
if (opId.length() > ProfilesQNames.MAX_OP_ID_LENGTH)
{
// TODO
// throw new ConstraintViolationException(locale, "OP_ID_LENGTH_EXCEEDED_3", new String[] { opId, Integer.toString(opId.length()),
// Integer.toString(GrisQNames.MAX_OP_ID_LENGTH) });
}
ssId = ProfilesQNames.SESSION_SCOPE_OPPERATION_ID + opId;
FileUploadProgressListener fileUploadProgressListener = new FileUploadProgressListener();
request.getSession().setAttribute(ssId, fileUploadProgressListener);
servletFileUpload.setProgressListener(fileUploadProgressListener);
}
if (maximumFileSize != -1)
servletFileUpload.setSizeMax(maximumFileSize);
try
{
FileItemIterator iter = servletFileUpload.getItemIterator(request);
while (iter.hasNext())
{
FileItemStream value = iter.next();
String key = value.getFieldName();
InputStream in = value.openStream();
try
{
if (value.isFormField())
{
String strValue = Streams.asString(in, ServiceConstants.DEFAULT_ENCODING);//如果是表单,在这里设置
addParameter(key, strValue);
}
else
{
CSVReader reader = new CSVReader(new InputStreamReader(in,"GBK"));// 设置编码
return reader.readAll();
}
}
finally
{
IOUtils.closeQuietly(in);
}
}
}
catch (Exception e)
{
if (e.getCause() != null && e.getCause() instanceof FileUploadBase.FileSizeLimitExceededException)
{
throw (FileUploadBase.FileSizeLimitExceededException) e.getCause();
}
else
{
throw new InvalidRequestException(ServiceEndpointUtil.getLocale(request), "MULTIPART_REQUEST_NOT_DECODED", null);
}
}
finally
{
// clean up the session if we had a listener
if (ssId != null)
request.getSession().removeAttribute(ssId);
}
return null;
}
{
// Prevent from being called repeatedly
if (multipartParamsParsed)
return null;
multipartParamsParsed = true;
ServletFileUpload servletFileUpload = new ServletFileUpload();
// look for opId, if opId is present, then do progress listening
String opId = request.getParameter(ProfilesQNames.OPERATION_ID_PARAM);
String ssId = null;
boolean isListening = opId != null && opId.length() > 0;
if (isListening)
{
if (opId.length() > ProfilesQNames.MAX_OP_ID_LENGTH)
{
// TODO
// throw new ConstraintViolationException(locale, "OP_ID_LENGTH_EXCEEDED_3", new String[] { opId, Integer.toString(opId.length()),
// Integer.toString(GrisQNames.MAX_OP_ID_LENGTH) });
}
ssId = ProfilesQNames.SESSION_SCOPE_OPPERATION_ID + opId;
FileUploadProgressListener fileUploadProgressListener = new FileUploadProgressListener();
request.getSession().setAttribute(ssId, fileUploadProgressListener);
servletFileUpload.setProgressListener(fileUploadProgressListener);
}
if (maximumFileSize != -1)
servletFileUpload.setSizeMax(maximumFileSize);
try
{
FileItemIterator iter = servletFileUpload.getItemIterator(request);
while (iter.hasNext())
{
FileItemStream value = iter.next();
String key = value.getFieldName();
InputStream in = value.openStream();
try
{
if (value.isFormField())
{
String strValue = Streams.asString(in, ServiceConstants.DEFAULT_ENCODING);//如果是表单,在这里设置
addParameter(key, strValue);
}
else
{
CSVReader reader = new CSVReader(new InputStreamReader(in,"GBK"));// 设置编码
return reader.readAll();
}
}
finally
{
IOUtils.closeQuietly(in);
}
}
}
catch (Exception e)
{
if (e.getCause() != null && e.getCause() instanceof FileUploadBase.FileSizeLimitExceededException)
{
throw (FileUploadBase.FileSizeLimitExceededException) e.getCause();
}
else
{
throw new InvalidRequestException(ServiceEndpointUtil.getLocale(request), "MULTIPART_REQUEST_NOT_DECODED", null);
}
}
finally
{
// clean up the session if we had a listener
if (ssId != null)
request.getSession().removeAttribute(ssId);
}
return null;
}
0 0
- java csvreader上传csv乱码问题
- Java读csv文件,结合iframe上传csv文件,解决乱码问题
- CSVReader 处理CSV文件(.NET)
- java 解析csv文件例子,csv文件 中文乱码问题
- java使用CsvReader和CsvWriter对csv文件内容进行读取和写入操作
- .NET处理CSV文件 插件CSVReader
- .NET处理CSV文件 插件CSVReader
- java从数据库导出.csv文件及中文乱码问题
- java从数据库导出.csv文件及中文乱码问题
- java 导出成.csv文件的乱码问题
- php处理csv乱码问题
- python写入csv乱码问题
- csv导入mysql乱码问题
- navicat导出csv乱码问题
- java ftp文件上传中文乱码问题
- Java读取csv文件乱码
- java csv 逗号 excel 乱码
- 关于CSV文本格式的“乱码”问题
- 源码管理二:查看工作区状态&&修改的内容
- HDU 3549 Flow Problem(最大流裸题,EK解法)
- UICollectionViewController使用问题之UICollectionViewFlowLayout
- LeetCode:Search a 2D Matrix (在元素递增的矩阵中搜寻特定元素)
- EF应用带来的好处
- java csvreader上传csv乱码问题
- perl实现map-reduce框架实例-wordcount
- DNS缓存的机制及如何应对造成的各种问题
- typeof array.concat() JSON.stringify JSON.parse
- Ubuntu 12.04 中自定义DNS服务器设置
- HDU 1728 逃离迷宫 DFS+标记转弯数+优化
- yocto之yocto概述
- jetty的使用入门和使用注意事项
- C++中typename和class的区别