不知道你要什么样的文本,文本中的内容是否是有格式的:
这里提供下思路,供参考:
1.文本文件,基本上式字符格式的了,可以用Reader io流
2.如果是格式化的文本,可以按数据的长度读取, readInt readByte...
3.保存到数据库 当然用JDBC了,如果你读取出来封装成POJO了,也可以选择 OM框架
import java.io.BufferedReader
import java.io.FileInputStream
import java.io.IOException
import java.io.InputStreamReader
/**
* 文件读取和写入数据库
* @author 樊云升
*
*/
public class FilesReader {
public FilesReader(){
}
/**
* 读取文件内容
* @param FILE
* @return
*/
public String re_content(String FILE){
String content=""
try{
BufferedReader bufRead=new BufferedReader(new InputStreamReader(new FileInputStream(FILE)))
String str
while((str=bufRead.readLine())!=null){
content+=str+"\r\n"
}
}catch(IOException ioe){
ioe.printStackTrace()
}
return content
}
/**
* 将特定字符写入数据库中(原来我写的是重写文件,你这里这里将content写入数据库就OK)
* @param path
* @return
*/
public boolean writeFile(String content){
try{
//数据库写入代码
}catch(Exception e){
out.close()
return false
}
return true
}
public static void main(String[] args) {
String content=new FilesReader().re_content("D:\\AJAX.htm")
new FilesReader().writeFile(content)
}
}
1、java i/o读取txt文本2、使用实体类封装或使用list、map等封装读取到的数据
3、jdbc
txt文本要保证符合一定的格式,如每个字段间已特定字符分割。
你好。请问什么数据库。oracle如下数据库中提供了两种字段类型 Blob 和 Clob 用于存储大型字符串或二进制数据(如图片)。
Blob 采用单字节存储,适合保存二进制数据,如图片文件。
Clob 采用多字节存储,适合保存大型文本数据。
首先创建一个空 Blob/Clob 字段,再从这个空 Blob/Clob字段获取游标,例如下面的代码:
PreparedStatement ps = conn.prepareStatement( " insert into PICTURE(image,resume) values(?,?) " )
// 通过oralce.sql.BLOB/CLOB.empty_lob()构造空Blob/Clob对象
ps.setBlob( 1 ,oracle.sql.BLOB.empty_lob())
ps.setClob( 2 ,oracle.sql.CLOB.empty_lob())
ps.excuteUpdate()
ps.close()
// 再次对读出Blob/Clob句柄
ps = conn.prepareStatement( " select image,resume from PICTURE where id=? for update " )
ps.setInt( 1 , 100 )
ResultSet rs = ps.executeQuery()
rs.next()
oracle.sql.BLOB imgBlob = (oracle.sql.BLOB)rs.getBlob( 1 )
oracle.sql.CLOB resClob = (oracle.sql.CLOB)rs.getClob( 2 )
// 将二进制数据写入Blob
FileInputStream inStream = new FileInputStream( " c://image.jpg " )
OutputStream outStream = imgBlob.getBinaryOutputStream()
byte [] buf = new byte [ 10240 ]
int len
while (len = inStream.read(buf) >0 ) {
outStream.write(buf, 0 ,len)
}
inStream.close()
outStream.cloese()
// 将字符串写入Clob
resClob.putString( 1 , " this is a clob " )
// 再将Blob/Clob字段更新到数据库
ps = conn.prepareStatement( " update PICTURE set image=? and resume=? where id=? " )
ps.setBlob( 1 ,imgBlob)
ps.setClob( 2 ,resClob)
ps.setInt( 3 , 100 )
ps.executeUpdate()
ps.close()
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)