java上传csv文件
❶ 要在页面导入一个csv文件,用java怎么实现
Apache POI
❷ 谁有java实现csv文件导入orcale数据库的例子
当前文件存放路径:>sqlldruserid=用户名/密码[@数据库字符串]control=控制文件
sqlldr userid='sys/admin as sysdba' control=e:\oracle\data\control.ctl
control.ctl控制文件中的内容
load data
infile 'E:\oracle\data\dept_test.csv'
append into table scott.dept_test
fields terminated by ','
optionally enclosed by '"'
(deptno,dname,sloc)
❸ java对操作csv文件
java">importjava.io.BufferedReader;importjava.io.FileReader;publicclassTest{publicvoidtest(introw,intcol){try{BufferedReaderreader=newBufferedReader(newFileReader("C:\\a.csv"));//换成你的文件名//reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉Stringline=null;intindex=0;while((line=reader.readLine())!=null){Stringitem[]=line.split("");//CSV格式文件为逗号分隔符文件,这里根据逗号切分if(index==row-1){if(item.length>=col-1){Stringlast=item[col-1];//这就是你要的数据了System.out.println(last);}}//intvalue=Integer.parseInt(last);//如果是数值,可以转化为数值index++;}}catch(Exceptione){e.printStackTrace();}}/***@paramargs*/publicstaticvoidmain(String[]args){Testtest=newTest();test.test(3,2);}}你的数据格式有问题,空格的个数不确定,没法每行用空格分隔。以下是我调整后的数据格式每行的数据以一个空格分隔,test方法传入的参数一次是,行,列:1电机12WBS23PID34CP5社供出6原価実绩7社供WC8外注费9直材费10自家制品11直経费12その他13注残14注残
❹ java怎样写入一个csv文件
所以你写csv表格,这么做就可以了,每写一列就加一个,就是第二列。
距离有个BufferWriter writer对象要写一个csv文件。
writer.wrtie("第一列");
writer.write(",");
writer.write("第二列");
这就是一个简单的用,分割的csv文件。
❺ java 关于csv文件
希望对你有用
UTF8转换成GB2312当我们在基于HTTP协议的JSP或Servlet的应用中获取数据或发送请求时,JVM会把输送的数据编码成UTF8格式。如果我们直接从HTTP流中提取中文数据,提取的结果为“????”(可能更多问号),为转换成我们能够理解的中文字符,我们需要把UTF8转换成GB2312,借助ISO-8859-1标准编码能够轻易的实现,下面的代码实现了这一功能:
byte [] b;
String utf8_value;
utf8_value = request.getParameter("NAME");//从HTTP流中取"NAME"的UTF8数据
b = utf8_value.getBytes("8859_1"); //中间用ISO-8859-1过渡
String name = new String(b, "GB2312"); //转换成GB2312字符
在知道流长度的情况下将输入流转换成字节数组 Java中的输入流抽象类InputStream有int read(byte[] b, intoff, int len)方法,参数中byte[] b是用来存放从InputStream中读取的数据,intoff指定数组b的偏移地址,也就是数组b的起始下标,intlen指定需要读取的长度,方法返回实际读取的字节数。刚学Java的朋友可能要说:先定义一个与流长度等长的字节数组,调用read方法,指定起始下标为0,指定读取长度与数组长度等长,不是一下子可以读出来了吗?说的没错,笔者曾经也试着这样读取数据,但后来发现在读取网络数据时很不安全,我们想想在网络上获取数据可能并没那么流畅,数据流的传送可能会断断续续,所以并不能保证一次就能读取全部数据,特别是在读取大容量数据时更是如此,所以我们必须在读取数据时检测实际读到的长度,如果没有读完已知长度的数据就应该再次读取,以此循环检测,直到实际读取的长度累加与已知的长度相等,下面的代码实现了这一功能:
ServletInputStream inStream = request.getInputStream(); //取HTTP请求流
int size = request.getContentLength(); //取HTTP请求流长度
byte[] buffer = new byte[size]; //用于缓存每次读取的数据
byte[] in_b = new byte[size]; //用于存放结果的数组
int count = 0;
int rbyte = 0;
while (count < size) { //循环读取
rbyte = inStream.read(buffer); //每次实际读取长度存于rbyte中
for(int i=0;i
in_b[count + i] = buffer;
}
count += rbyte;
}
在不知道流长度的情况下将输入流转换成字节数组前面介绍了已知流长度的情况下的转换方法,那么当我们不知道流有多长时,也就是说不能确定转换后的字节数组有多大时,该怎么处理呢?笔者查看了JDK文档之后发现ByteArrayOutputStream有一个byte[]toByteArray()方法,该方法会自动创建一个字节数组,然后返回。于是就巧妙的用ByteArrayOutputStream来作中间过渡实现转换,其它处理跟上面所介绍已知长度的情况差不多。假设需要被转换的流已经放在inStream里了,我们可以用如下的代码实现这一功能:
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in_b = swapStream.toByteArray(); //in_b为转换之后的结果
❻ java操作csv文件
看楼主比较懂,
参阅RandomAccessFile类
先用seek(long pos)把指针指向文件最后
然后视你的数据用
writeBytes(String s) //有汉字什么的
writeChars(String s) //一般的字符串
writeUTF(String str) //有UTF-8的字符
写入数据
❼ java把数据库读取的数据通过流写入到csv文件里,请问怎么写代码请求。
File file = new File("d:/test.csv");
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
bw.write("123456");
bw.write("89898");
bw.close();
❽ java 怎样将数据导入csv 中
你可以把csv文件就看成是各列数据之间用逗号(",")分隔的文本文件,一行数据就是一行文本
用java文件流向文件中写文本,文件名为.csv扩展名就行
❾ java 文件上传:这是网页上的jsp页面,想要实现选择一个cvs格式的文件上传。
前台可以通过JS过滤文件类型,如果是CSV,允许上传,如果不是,给出提示。
后台先上传文件,如果成功,记录成功数量,失败记录失败数量。(这里记住要先上传在解析,
外在因素可能导致多种失败的情况。)
具体信息可以让他下载后查看。如果想在页面上查看,需要浏览器支持浏览CSV文件。(这种方式不好)另外可以解析CSV将文件内容存在数据库后在页面展示。根据你的需求决定实现方式吧