读取form里上传的txt文件

问题描述

现在有一个web开发的项目,要把txt文件里用逗号分隔的数据导入到数据库,就是从网页上传回来一个TXT文件附件,读取文件里面的内容,解析之后保存到数据库。我是用ssh框架做的,从form表单里获取了文件对象,不知道怎么弄了现在。网上查了下,都是用FileReader读取本地文件的,对我这个不适用。小弟新手,求指教action里的代码大致是这样的:public ActionForward doImportDataFile(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response){// 把ActionForm 转换成AttachFileFormAttachFileForm fileForm = (AttachFileForm) form;MultipartRequestHandler handler = fileForm.getMultipartRequestHandler();FormFile file = (FormFile) handler.getFileElements().get("dataFile");//获取文件名,判断文件类型String fileName = file.getFileName();int indexOfDot = fileName.lastIndexOf(".")+1;String fileType = fileName.substring(indexOfDot);fileType = fileType.toUpperCase();if(fileType.equals("TXT")){//用BufferedReader读取本地文件在这里不适用 以下代码出错BufferedReader reader = new BufferedReader(file);} 问题补充:我看了下,又一个方案是把文件写到服务端,然后根据存的路径用BufferedReader读取。。。。又没有直接转换的方法可以用?

解决方案

你准备写文件的时候这样做InputStream is = file.getInputStream();剩下的就是你从is里读出来,然后再写。
解决方案二:
有没有前台JS+action的实例
解决方案三:
new BufferedReader(new FileReader(file))或new BufferedReader(new FileInputStream(new InputStream(file)))上传文件用BufferedInputStream、BufferedOutputStream 比较好一点吧
解决方案四:
通过file.getInputStream() 获取文件流,然后通过FileOutputStream写入到文件。
解决方案五:
可以利用uploadFile上传插件。

时间: 2024-10-23 21:51:00

读取form里上传的txt文件的相关文章

unicodeencodeerror-请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError

问题描述 请教朋友django用filefield上传作品.txt文件报错UnicodeEncodeError 各位朋友们好,我用虚拟机在本地python manage.py runserver 0.0.0.0:8082,通过admin页面上传文件: "作品.txt" 这个文本文件是成功的, 我把这个部署到阿里云服务器上,同样在admin页面上传该文件,却报错: UnicodeEncodeError at /admin/score/operatevideo/add/,'ascii' c

java-jsp页面如何获得上传的html文件里<span>标签的内容,这些标签不带ID和NAME。

问题描述 jsp页面如何获得上传的html文件里<span>标签的内容,这些标签不带ID和NAME. 上传的HTML文件内容如下: <!DOCTYPE html><!--[if IE]> <html class="ie"> <![endif]--> <html> <head> <meta charset="utf-8" /> <title> </titl

javadbf 读取上传的dbf文件时,不能正确读取某些类型的数据

问题描述 javadbf 读取上传的dbf文件时,不能正确读取某些类型的数据 如题,读取Double.Integer.DateTime.Varchar类型的数据时出现乱码,而Character.Numeric.Date.Float能正确读取. 解决方案 byte[] b = new byte[fis1.available()]; fis1.read(b); cqPO.setDataSourceBlob(Hibernate.createBlob(b));// 只能通过字节读取 看了下b中的数据,对

excel文件-怎样通过JSP页面上传个Excel文件,并实现Java读取EXCEL存入数据库

问题描述 怎样通过JSP页面上传个Excel文件,并实现Java读取EXCEL存入数据库 用的语言是servlet+jsp+mysql和后面两个包commons-fileupload-1.3.1.jar jxl.jar 在线等,有没有会这个代码的大神 解决方案 两篇上传的,一篇jxl操作excel的.拼起来就是你要的http://www.the5fire.com/JSP%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6%E7%AE%80%E5%8D%95%E5%AE%9E%

android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗?

问题描述 android相机拍照后上传到指定文件夹,opencv是通过调用文件夹里图片进行处理的吗? 现在有一个Android拍照上传到指定文件夹的程序和一个opencv图像匹配的程序,能否通过修改某些语句和配置环境可以将两者结合?如果可以求大神赐教!(opencv是在文件夹选取图片进行匹配的.) 解决方案 可以直接调用文件夹里的图片处理,配置的话把路径配置成相对路径就可以了

内存映射-C#用seek一次读取1M的方式上传一个大文件为什么依然占用如此大的内存

问题描述 C#用seek一次读取1M的方式上传一个大文件为什么依然占用如此大的内存 C#用seek一次读取1M的方式上传一个大文件为什么依然占用如此大的内存,必须用内存映射吗? 解决方案 你肯定频繁的new数组了,用一个公共的空间吧 解决方案二: 为什么依然占用如此大的内存,具体是多大呢? 建议你监控一个内存的使用,是哪段代码引起的.一句句进行调试应该就可以发现,如果不能可以考虑增加一个 Sleep 语句. 按正常来说,打开文件,与 Seek 操作不需要多少内存的.只有读时,需要分配读数据的空间

dojo上传文件-dojo.form.uploader上传文件,后台要怎么获得文件流

问题描述 dojo.form.uploader上传文件,后台要怎么获得文件流 如题,后台要怎么获得文件流.普通的form表单提交只要中加个name ,后端代码只要写个和name相同的File类型参数接收就好了.但是dojo的获取不到.我不会dojo,js也不怎么写.知道的求告知,感激不尽

用java在web环境下上传和下载文件的技巧_java

文件上传在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件上传功能. common-fileupload组件是apache的一个开源项目之一,可以从http://jakarta.apache.org/commons/fileupload/下载. 用该组件可实现一次上传一个或多个文件,并可限制文件大小. 下载后解压zip包,将commons-fileupload-

C# winform 远程上传服务器excel文件,并本地打开

问题描述 C#Form窗口需要做一个上传附件的功能,远程服务器(IP:109.104.66.55)上有一个文件夹(abc),软件将excel文件(123.xls)都上传到其文件夹里面,SQL储存这个Excel文件的名字,上传完成后,每次客户端通过SQL存储的文件名字来打开远程服务器的EXCEL文件具体上传和本地打开此文件的代码怎么写啊!!!请大家知道哦一下! 解决方案 解决方案二:打开服务器的xls干啥?在说了打开你本地也看不到...解决方案三:你应该用代码读取文件,然后显示在页面表格里,而不是