怎样将文本中的数据按顺序写到数据库中!!!!!!!!!!!!!!!!!!!!!谢谢了! 谢谢![email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已经用“,”分割开了,我的问题是不知道怎么将分割好的文本取出来,再付值给STRING型啊 http://www.mhdn.net/p/2002-10-10/6066.html 你不是一行就一个记录吗?读出一行后赋给一个stringbuffer,就用subString()取每个字段的值,我是java新手来的,我想应该是这样吧。写文本数据的时候我建议你规定每个字段的宽度,这样读出来就方便多了 不啊,基本上是3行显示一条记录,而且记录间不分行啊那位大侠快帮帮我啊,最好有原代码的,,,下面是2条记录的摘抄BEJA0038304,A,李宏菊,XXX,1973-01-12,李宏菊,110108730112634,XXX,100011,64252305,EL0806,BEJ001EL0803513,2000-10-12,20000.00,BEJ1010303,BEJB0589,吴蔚,j000072,A,李永乐,XX,1955-11-01,李永乐,110101551101353,XXX,100026,65936924,EL0804, 用字串分析类,StringTokenizer 以逗号为分隔符分析,根据字段数求模来区分下一条记录! 可以用逗号来区分字段用回车来区分记录这就需要在编辑txt时,要设计好你就读就是了,逗号逗号之间就是字段,遇到回车,一条记录就over插入就ok了 同意dugang106(冷风细雨)的,读一行文本向数据库里面写入一行! 在现在这种情况下同意sunthing(我不懂) 的,条件就是每条记录的字段一样,就是没有值也要加一个分号就可以实现 http://wla.8143.com/bbs/dispbbs.asp?boardID=8&ID=33fso不知道对你有没有帮助 表中的列是固定的,那么你可以一次循环读出n*列数,这样就读出了n条记录,然后将声明一个n*列数的数组,通过数组循环或者类型改变再放到数据库中。这个问题的难度在于读文本和类型转换 可以利用stringbuffer去做,文本中的数据可以利用gettext()方法返回一个string串,将他利用stringbuffer 的构造函数,确定他的分割副就可以了。 下面这个方法是用来读去文本中的内容,并且返回一个字符串,然后你可以对这个字符串进行分析,或者修改一下这段代码,在里面处理。public String read(){ StringBuffer strbuf = new StringBuffer(); File aFile = new File("E:/test.txt"); FileInputStream inFile = null; try { inFile = new FileInputStream(aFile); } catch (FileNotFoundException fnfe) { fnfe.printStackTrace(); System.exit(1); } FileChannel inChannel = inFile.getChannel(); ByteBuffer buf = ByteBuffer.allocate(48); try { int remain = 0; while (inChannel.read(buf) != -1) { remain = buf.remaining(); byte[] bytes = buf.array(); strbuf = strbuf.append(new String(bytes)); buf.clear(); } System.out.println("EOF reached."); String str = strbuf.toString().substring(0,strbuf.toString().length()-remain); System.out.println(str); inFile.close(); return str; } catch (IOException ioe) { ioe.printStackTrace(); System.exit(1); } return null;} iceandfire(【OPENSOURCE】) 你好,我运行了一下你的代码,报了3个错误啊,我还是看不太懂,可以加上注释吗,谢谢 用java.util.StringTokenizer吧。String str="...,...,...,...,....,...."; // 此行文本是你从文件中读入的String sDelim = "," // 分隔符(与字符串中的分隔符就相同)java.util.StringTokenizer st = new java.util.StringTokenizer(str,sDelim);while(st.hasMoreTokens()){ String s = st.nextToken(); // 取出的字符串 ... ...}/* 如此使用的前提:每一行数据为一条数据库记录,字段值之间用分隔符分开。 如: String str = "张三,1978-05-24,4521780524009,XX省XX市"; String sDelim = ","; int number=4; String[] array = new String[number]; // 有4个字段(仅保存一条记录的内容) StringTokenizer st = new StringTokenizer(str,sDelim); int num=0; while(st.hasMoreTokens()){ array[num]=st.nextToken(); // 取出的字符串 num++; } string sql = "insert into tablename values(?,?,?,?)"; PreparedStatement pstmt = conn.prepareStatement(sql);// 生成 for(int i=0;i<=number;i++){ pstmt.setString(i+1,array[i]); } ....;// 执行数据库插入*/ 上面的更改一下: for(int i=0;i<number;i++){ pstmt.setString(i+1,array[i]); } 我的代码要有JDK1.4的支持,因为里面用到了通道。 jsp 类似于空间评论回复框的效果 关于Mondrian+Oracle的问题 帮忙看下这个页面应该怎么做 求一开源相册系统,谢谢!! struts1.2 如何通过 request.setAttribute() 设值给action 你们为什么要学java 请问java.lang.IllegalStateException异常,一般是什么原因导致的? JBuilder9中如何让光标在回车换行后对齐前一行? 高分求JSP代码 多个选项,如何取得结果,显示 Tomcat连接池如何设定自动销毁空闲连接? 想问一下现在公司做软件测试的主要用哪些测试工具啊?
那位大侠快帮帮我啊,最好有原代码的,,,
下面是2条记录的摘抄BEJA0038304,A,李宏菊,XXX,1973-01-12,李宏菊,110108730112634,XXX,100011,64252305,EL0806,BEJ001EL0803513,2000-10-12,20000.00,BEJ1010303,BEJB0589,吴蔚,
j000072,A,李永乐,XX,1955-11-01,李永乐,110101551101353,XXX,100026,65936924,EL0804,
用回车来区分记录
这就需要在编辑txt时,要设计好
你就读就是了,逗号逗号之间就是字段,遇到回车,一条记录就over
插入就ok了
fso不知道对你有没有帮助
public String read()
{
StringBuffer strbuf = new StringBuffer();
File aFile = new File("E:/test.txt");
FileInputStream inFile = null; try
{
inFile = new FileInputStream(aFile);
}
catch (FileNotFoundException fnfe)
{
fnfe.printStackTrace();
System.exit(1);
} FileChannel inChannel = inFile.getChannel();
ByteBuffer buf = ByteBuffer.allocate(48);
try
{
int remain = 0;
while (inChannel.read(buf) != -1)
{
remain = buf.remaining();
byte[] bytes = buf.array();
strbuf = strbuf.append(new String(bytes));
buf.clear();
}
System.out.println("EOF reached.");
String str =
strbuf.toString().substring(0,strbuf.toString().length()-remain);
System.out.println(str);
inFile.close();
return str;
}
catch (IOException ioe)
{
ioe.printStackTrace();
System.exit(1);
} return null;
}
你好,我运行了一下你的代码,报了3个错误啊,我还是看不太懂,可以加上注释吗,谢谢
String sDelim = "," // 分隔符(与字符串中的分隔符就相同)java.util.StringTokenizer st = new java.util.StringTokenizer(str,sDelim);
while(st.hasMoreTokens()){
String s = st.nextToken(); // 取出的字符串
... ...
}/*
如此使用的前提:每一行数据为一条数据库记录,字段值之间用分隔符分开。 如:
String str = "张三,1978-05-24,4521780524009,XX省XX市";
String sDelim = ",";
int number=4;
String[] array = new String[number]; // 有4个字段(仅保存一条记录的内容)
StringTokenizer st = new StringTokenizer(str,sDelim);
int num=0;
while(st.hasMoreTokens()){
array[num]=st.nextToken(); // 取出的字符串
num++;
}
string sql = "insert into tablename values(?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);// 生成
for(int i=0;i<=number;i++){
pstmt.setString(i+1,array[i]);
}
....;// 执行数据库插入
*/
for(int i=0;i<number;i++){
pstmt.setString(i+1,array[i]);
}