Java的文件导入导出实现
2016-07-17 11:09
465 查看
一. Java文件导出:
1. 文件内容写入DTO
2. 用FacesContext, 取得画面的的Instance(需要Import):
FacesContext faceContext = FacesContext.getCurrentInstance();
3. 取得Response:
4. 下载处理
4.1 用path和fileName取得下载文件:
4.2 读取文件:
5. 结束后通知JSF。
二. Java文件导入:
1. 使用fileUpload取得文件的fileByte
2. 将文件内容写入DTO:
3. 作成临时文件,取得路径:
4. 用BufferedReader来读取文件:
1. 文件内容写入DTO
2. 用FacesContext, 取得画面的的Instance(需要Import):
FacesContext faceContext = FacesContext.getCurrentInstance();
3. 取得Response:
HttpServletResponse response = (HttpServletResponse)facesContext.getExternalContext().getResponse();
4. 下载处理
4.1 用path和fileName取得下载文件:
DownloadResponse.writeOther(response, downloadfilepath, downloadfilename);
4.2 读取文件:
BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(downloadFile)); OutputStream outputStream = response.getOutputStream(); int size = inputStream.available(); while(size > 0){ byte[] bytes = new byte[size]; inputStream.read(bytes); outputStream.write(bytes); size = inputStream.available(); }
5. 结束后通知JSF。
facesContext.responseComplete();
二. Java文件导入:
1. 使用fileUpload取得文件的fileByte
2. 将文件内容写入DTO:
String strData = new String(inDTO.getUpload.file_byte(), Charset.forName(SwCharset.TXT_Default.getCharsetName);
3. 作成临时文件,取得路径:
File tempFile = TempFile.create(ID, PageID, strData, SwCharset.UTF8); // 取得NAS_ID: String nasID = nasManager.create(ID, PageID, tempFile.getPath(), NASFileType.CSV.getFileType(), "INSERT.csv", "名字"); // 取得NAS文件路径: String nasFilePath = nasManager.getNasFileInfo(nasID).getAbsolutePath();
4. 用BufferedReader来读取文件:
List<List<String>> results = new ArrayList<List<String>>(); BufferedReader reader = new BufferedReader(new FileReader(filePath)); CSVBufferReader inReader = new CSVBufferedReader(reader); List<String> tmpRow = null; CSVLineIterator csvLine = inReader.readCSVLine(); while(csvLine != null){ tmpRow = new ArrayList<String>(); while(csvLine.hasNext() == true){ tmpRow.add(csvLine.next()); } resut.add(tmpRow); csvLine = inReader.readCSVLine(); } return result;
相关文章推荐
- javaweb
- Eclipse ADB报错:Adb connection Error远程主机强迫关闭了一个现有的连接
- Java千百问_01基本概念(004)_Java都能做些什么
- float double 避开科学计数法表示的手段
- [置顶] 【Struts2学习】(1)Struts2工作原理
- Java千百问_01基本概念(003)_J2EE里面的2是什么意思
- AndroidStudio导入Eclipse项目后的几个问题
- Java正则表达式整理的工具类
- maven导入eclipse工程,设置默认jdk
- spring作用域
- Java_IO_两种文件复制方式比较
- java面向对象之继承
- Servlet、Struts1、Struts2线程安全
- JAVA 中BIO,NIO,AIO的理解
- springmvc mybaits websocket 服务器框架
- Ubuntu 14 安装Java(JRE、JDK)、Maven
- spring简介及配置
- springmvc整合mybatis框架源码
- Java之Scanner(二)
- 《JAVA NIO》第二章缓冲区