有一个txt文档,格式如下:
[color=green][分类名] 文本内容
[分类名] 文本内容
[分类名] 文本内容[/color]
如何写入数据库中(oracle 10g)
要求 [color=green][][/color] 不写入数据库,分类名和文本内容用空格隔开,各行之间有空格,如果分类名相同则只能在数据库中存在一条记录,而分类名相同的文本内容都要追加到这条记录上.
图片在附件里
有一个txt文档,格式如下:
[color=green][分类名] 文本内容
[分类名] 文本内容
[分类名] 文本内容[/color]
如何写入数据库中(oracle 10g)
要求 [color=green][][/color] 不写入数据库,分类名和文本内容用空格隔开,各行之间有空格,如果分类名相同则只能在数据库中存在一条记录,而分类名相同的文本内容都要追加到这条记录上.
图片在附件里
long start = System.currentTimeMillis();
File file = new File("test.txt");
Map map = new HashMap();
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader bf = new BufferedReader(isr);
String str = "";
while((str = bf.readLine()) != null){
// String[] s = str.split(" ");
// System.out.println(str);
if(!"".equals(str.trim())){
String[] s = new String[2];
s[0] = str.substring(0,str.indexOf(" "));
s[1] = str.substring(str.indexOf(" ")+1);
// for (int i = 0; i < s.length; i++) {
if(s[0].indexOf("[") != -1){
String bookName = s[0].substring(1,s[0].length() - 1);
if(map.containsKey(bookName)){
String bookNames = map.get(bookName) + "," + s[1];
map.put(bookName, bookNames);
}else{
map.put(bookName, s[1]);
}
// }
}
}
}
for (Iterator iterator = map.entrySet().iterator(); iterator.hasNext();) {
Entry<String, String> type = (Entry<String, String>) iterator.next();
System.out.println(type.getKey() + ":" + type.getValue());
}
long end = System.currentTimeMillis();
System.out.println(end - start);
} catch (Exception e) {
e.printStackTrace();
}
我想这个方法更好