读取form里上传的txt文件

现在有一个web开发的项目,要把txt文件里用逗号分隔的数据导入到数据库,就是从网页上传回来一个TXT文件附件,读取文件里面的内容,解析之后保存到数据库。我是用ssh框架做的,从form表单里获取了文件对象,不知道怎么弄了现在。网上查了下,都是用FileReader读取本地文件的,对我这个不适用。小弟新手,求指教

action里的代码大致是这样的:
public ActionForward doImportDataFile(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
// 把ActionForm 转换成AttachFileForm
AttachFileForm 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);
}

5个回答

你准备写文件的时候这样做
InputStream is = file.getInputStream();
剩下的就是你从is里读出来,然后再写。

可以利用uploadFile上传插件。

通过file.getInputStream() 获取文件流,然后通过FileOutputStream写入到文件。

new BufferedReader(new FileReader(file))

new BufferedReader(new FileInputStream(new InputStream(file)))
上传文件用BufferedInputStream、BufferedOutputStream 比较好一点吧

有没有前台JS+action的实例

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问