java文件上传判断文件类型为表格|java代码怎么判断文件的格式是excel文件

Ⅰ java怎么读取上传的excel文件

java怎么读取上传的excel文件,解决办法:

添加jar文件,java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。

jxl对Excel表格的认识,每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示行,并且从上到下递增,从左到右递增。

对于合并单元格的以最左,最上的单元格的坐标为准。如下图中t.xls,一班名单(0,0),陈茵(1,2),陈开先(1,6)。

4.java代码对t.xls的读取

Ⅱ java代码怎么判断文件的格式是excel文件

匹配后缀名。用

String.endsWith(".xls");xlsxlsxxlsm

1.两点需要注意

1.string.spilt("\.")分割字符串成子字符串数组,以“.”分割,必须版写成string.spilt("\.")的方式权,不能写成string.spilt(".")。斜线必须是反斜线且。

2.获取分割后的字符串数组,要获得最后一个item的index ,方式是int suffixIndex = strArray.length -1;

publicStringgetFileType(StringfileName){String[]strArray=fileName.split("\.");intsuffixIndex=strArray.length-1;System.out.println(strArray[suffixIndex]);return"strArray[suffixIndex]";}

Ⅲ java 怎么判断一个文件的类型,比如说是txt,jpg,xls,exe,等等,说后缀名的就不用回答了

二进制与二进制本身没什么区别,区别在于文件结构,常见的图片、xls等等都是有相对固定的文件结构的,比如说总是以哪几个字节开始,后面跟的是什么数据,数据有多长等等。要判断文件类型,一般常用的方法是也是基于这个原理,通过文件前面的固定字节来判断,java也不例外,网络搜索一下 java 文件 类型 判断,第一个就是。

Ⅳ 正则表达式,如何判断文件名后缀是否为csv、xls、xlsx

<input type="file" value="浏览" id="file" onchange=" " onclick=" "/>

在input中想要获取上传的文件名,那么onclick事件是不行的,因为一点击input那么onclick事件就执行,但是这时候还没上传内容,但是onchange事件是上传完成后才执行的事件

以下方法就是判断是否是excel文件

var File=document.getElementById(“file”);

var str=File.value;

1、查找字符串

if(str.indexOf("xls")<0&&str.indexOf("xlsx")<0)

{alert("请选择格式为.xls或.xlsx的文件!");return false;

}

2、正则表达式:

var reg = /(?:jpg|gif|png|jpeg)$/;reg.test(obj.value)

文件格式(或文件类型)是指电脑为了存储信息而使用的对信息的特殊编码方式,是用于识别内部储存的资料。比如有的储存图片,有的储存程序,有的储存文字信息。每一类信息,都可以一种或多种文件格式保存在电脑存储中。

每一种文件格式通常会有一种或多种扩展名可以用来识别,但也可能没有扩展名。扩展名可以帮助应用程序识别的文件格式。对于硬盘机或任何电脑存储来说,有效的信息只有0和1两种。所以电脑必须设计有相应的方式进行信息-位元的转换。对于不同的信息有不同的存储格式。

Ⅳ java 文件上传:这是网页上的jsp页面,想要实现选择一个cvs格式的文件上传。

前台可以通过JS过滤文件类型,如果是CSV,允许上传,如果不是,给出提示。专后台先上传文件,属如果成功,记录成功数量,失败记录失败数量。(这里记住要先上传在解析,外在因素可能导致多种失败的情况。)具体信息可以让他下载后查看。如果想在页面上查看,需要浏览器支持浏览CSV文件。(这种方式不好)另外可以解析CSV将文件内容存在数据库后在页面展示。根据你的需求决定实现方式吧

Ⅵ Java中上传文件和表单数据提交如何质莸

//1.form表单//注:上传文件的表单,需要将form标签设置enctype="multipart/form-data"属性,意思是将Content-Type设置成multipart/form-data<form action="xxx" method="post" enctype="multipart/form-data"> <input type="text" name="name" id="id1" /> <br /><input type="password" name="password" /> <br /><input type="file" name="file" value="选择文件"/> <input id="submit_form" type="submit" value="提交"/> </form>//2.servlet实现文件接收的功能boolean isMultipart = ServletFileUpload.isMultipartContent(request);//判断是否是表单文件类型 DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload sfu = new ServletFileUpload(factory); List items = sfu.parseRequest(request);//从request得到所有上传域的列表 for(Iterator iter = items.iterator();iter.hasNext();){ FileItem fileitem =(FileItem) iter.next(); if(!fileitem.isFormField()&&fileitem!=null){//判读不是普通表单域即是file System.out.println("name:"+fileitem.getName()); } } 3.扩展一下springboot@RequestMapping("/xxx")@ResponseBodypublic String handleFileUpload(@RequestParam("file") MultipartFile file) {if (!file.isEmpty()) {try {BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(file.getOriginalFilename())));System.out.println(file.getName());out.write(file.getBytes());out.flush();out.close();} catch (FileNotFoundException e) {e.printStackTrace();return "上传失败," + e.getMessage();} catch (IOException e) {e.printStackTrace();return "上传失败," + e.getMessage();}return "上传成功";} else {return "上传失败,因为文件是空的.";}}

Ⅶ Java上传excel,Excel数据或者格式会影响上传速度,Excel哪些因素会影响上传速度

如果只是文件上传,那么上传速度只是与文件大小有关,而与里面的数据是无关的。之所以2000条数据的Excel比3000条数据的Excel上传还慢,应该是你的上传过程除了上传文件,还做了数据解析(读取Excel)的功能,如果是这样的话,那么整个上传速度还与数据内容有关,虽然数据量小,但数据内容多,解析速度慢,这样也会导致你说的问题。如果想解决此问题,可以分步进行,上传时只上传文件,后台接收到文件再统一解析处理。这样既容易查找问题,又可以很好的解耦。

Ⅷ java 传输 获取文件类型

获取文件类型,一般的是列出目前所有的文件类型,根据表头进行相应判断,示例如下:

/***件头是位于文件开头的一段承担一定任务的数据,一般都在开头的部分。*头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明(declaration),而定义文件用于保存程序的实现(implementation)。*为了解决在用户上传文件的时候在服务器端判断文件类型的问题,故用获取文件头的方式,直接读取文件的前几个字节,来判断上传文件是否符合格式。具体代码如下:*Java代码:**/packagecom.yonyou.sud.file;importjava.io.FileInputStream;importjava.io.IOException;importjava.util.HashMap;/***获取和判断文件头信息**@authorSud**/publicclassGetTypeByHead{//缓存文件头信息-文件头信息publicstaticfinalHashMap<String,String>mFileTypes=newHashMap<String,String>();static{//imagesmFileTypes.put("FFD8FF","jpg");mFileTypes.put("89504E47","png");mFileTypes.put("47494638","gif");mFileTypes.put("49492A00","tif");mFileTypes.put("424D","bmp");//mFileTypes.put("41433130","dwg");//CADmFileTypes.put("38425053","psd");mFileTypes.put("7B5C727466","rtf");//日记本mFileTypes.put("3C3F786D6C","xml");mFileTypes.put("68746D6C3E","html");mFileTypes.put("44656C69766572792D646174653A","eml");//邮件mFileTypes.put("D0CF11E0","doc");mFileTypes.put("5374616E64617264204A","mdb");mFileTypes.put("252150532D41646F6265","ps");mFileTypes.put("255044462D312E","pdf");mFileTypes.put("504B0304","docx");mFileTypes.put("7221","rar");mFileTypes.put("57415645","wav");mFileTypes.put("41564920","avi");mFileTypes.put("2E524D46","rm");mFileTypes.put("000001BA","mpg");mFileTypes.put("000001B3","mpg");mFileTypes.put("6D6F6F76","mov");mFileTypes.put("3026B2758E66CF11","asf");mFileTypes.put("4D546864","mid");mFileTypes.put("1F8B08","gz");}/***根据文件路径获取文件头信息**@paramfilePath*文件路径*@return文件头信息*/publicstaticStringgetFileType(StringfilePath){System.out.println(getFileHeader(filePath));System.out.println(mFileTypes.get(getFileHeader(filePath)));returnmFileTypes.get(getFileHeader(filePath));}/***根据文件路径获取文件头信息**@paramfilePath*文件路径*@return文件头信息*/(StringfilePath){FileInputStreamis=null;Stringvalue=null;try{is=newFileInputStream(filePath);byte[]b=newbyte[4];/*intread()从此输入流中读取一个数据字节。*intread(byte[]b)从此输入流中将最多b.length个字节的数据读入一个byte数组中。*intread(byte[]b,intoff,intlen)从此输入流中将最多len个字节的数据读入一个byte数组中。*/is.read(b,0,b.length);value=bytesToHexString(b);}catch(Exceptione){}finally{if(null!=is){try{is.close();}catch(IOExceptione){}}}returnvalue;}/***将要读取文件头信息的文件的byte数组转换成string类型表示**@paramsrc*要读取文件头信息的文件的byte数组*@return文件头信息*/(byte[]src){StringBuilderbuilder=newStringBuilder();if(src==null||src.length<=0){returnnull;}Stringhv;for(inti=0;i<src.length;i++){//以十六进制(基数16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写hv=Integer.toHexString(src[i]&0xFF).toUpperCase();if(hv.length()<2){builder.append(0);}builder.append(hv);}System.out.println(builder.toString());returnbuilder.toString();}publicstaticvoidmain(String[]args)throwsException{finalStringfileType=getFileType("E:/Java编程思想读书笔记.docx");System.out.println(fileType);}}


赞 (0)