由access导出txt的数据文件,怎么用程序识别文件,并把txt里面的字段识别出来呢!(txt里面有格式)
由access导出txt的数据文件,怎么用程序识别文件,并把txt里面的字段识别出来呢!(txt里面有格式).
aaa bbb ccc ddd
1 a b c
2 aa bb cc
我想把数据识别出来,再插入到orcale数据库里面!怎么实现呢?
问题点数:100、回复次数:5Top
1 楼shoulders(Developer)回复于 2005-08-03 08:51:49 得分 0
使用readLine()的方法,每次读取一行,然后再处理这个字符串。
BufferedReader br = new BufferedReader(new FileReader(new File("文件地址")));Top
2 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-08-03 08:57:03 得分 0
readLine()得到的是 String
然后用String []row=str.split("[\\t]");就把那些保存在一个树组里面了Top
3 楼laughsmile(海边的星空)回复于 2005-08-03 10:23:50 得分 0
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl";
// orcl为你的oracle数据库的SID
String user="scott";
String password="tiger";
java.sql.Connection conn= java.sql.DriverManager.getConnection(url,user,password); PreparedStatement ps = null;
BufferedReader in=new BufferedReader(new FileReader("c:\\cc.txt"));
String s="";
int i = 0;
String sql = "";
while ( (s=in.readLine()) != null){
s = s.trim();
s = s.replaceAll("[ ]+",",");
String[] strItem = s.split(" ");
if (0 == i){//字段名
sql = "insert into yourtable("+s+")values(";
for(int j=0 ; j<strItem.length; ++j){
sql = sql+"?,";
}
if (sql.endsWith(","))
sql = sql.substring(0,sql.length()-1);
} else {//字段值
//将数组strItem插入Oracle数据库
//得到数据库连接
java.sql.ResultSet rs = null;
try {
ps = conn.prepareStatement(sql);
for(int j=0;j<strItem.length;++j){
ps.setString(j, strItem[j]);
}
ps.addBatch();
} catch (java.sql.SQLException e) {
} finally {
ps.close();
}
//end 插入
}
++i;
}
ps.executeBatch();
conn.close();
conn = null;Top
4 楼laughsmile(海边的星空)回复于 2005-08-03 10:24:48 得分 0
for(int j=0;j<strItem.length;++j){
ps.setString(j, strItem[j]);
}
改为
for(int j=0;j<strItem.length;++j){
ps.setString(j+1, strItem[j]);
}
Top
5 楼star_str(生命火花)回复于 2005-08-03 12:41:50 得分 0
upTop




