|
|
|
Перемещение файлов
|
|||
|---|---|---|---|
|
#18+
Помогите новичку разобраться. Нужно загрузить данные из текстовых файлов в таблички, после чего занести некоторую информацию о файлах в таблицу истории и переместить файлы в директорию для архивов. Проблема в том, что первый файл перемещается нормально, а второй никак не хочет. Подскажите в чем проблема... import java.io.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.GregorianCalendar; public class pr_first_load { public static void main(String[] args) throws IOException, SQLException { String server="server"; String user="user"; String password="password"; String enc; // переменная для кодировки файлов enc = ""; String person_dir; // указание пути для файлов первоначальной загрузки в таблицу person person_dir = ""; String p_adres_dir; // указание пути для файлов первоначальной загрузки в таблицу p_adres_dir p_adres_dir = ""; String arhive_dir; // указание пути для архива arhive_dir = ""; String[] data; // переменная для разбора отдельной строки файла int iline; // счетчик для определения количества загруженных записей Connection con; con = null; try { if (insideOracle()) { con = DriverManager.getConnection("jdbc:default:connection:"); } else { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:"+server; con = DriverManager.getConnection(url, user, password); } } catch (java.lang.Exception ex) { ex.printStackTrace (); } Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery ("select (select value from pr_config where param='encoding') as encoding," + "(select value from pr_config where param='person_dir') as person_dir, " + "(select value from pr_config where param='p_adres_dir') as p_adres_dir, " + "(select value from pr_config where param='arhive_dir') as arhive_dir " + "from dual"); while(rs.next()) { enc = rs.getString("encoding"); person_dir = rs.getString("person_dir"); p_adres_dir = rs.getString("p_adres_dir"); arhive_dir = rs.getString("arhive_dir"); }; rs.close(); stmt.close(); // загрузка в таблицу person File path = new File(person_dir); String[] list = path.list(); String element; for(int i = 0; i < list.length; i++) { element = list ; GregorianCalendar gcalendar = new GregorianCalendar(); BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(person_dir+element),enc)); String line=null; iline = 0; while((line=in.readLine())!=null){ data = line.split("\\|\\*\\|"); stmt = con.createStatement(); stmt.executeUpdate("insert into person(id,fam,imj,otch,y_rojd,m_rojd,d_rojd,dt_izm) " + "values('"+data[0]+"','"+data[1]+"','"+data[2]+"','"+data[3]+"','"+data[4]+"','"+data[5]+"','"+data[6]+"',to_date('"+(gcalendar.get(GregorianCalendar.DATE))+"-"+((gcalendar.get(GregorianCalendar.MONTH))+1)+"-"+(gcalendar.get(GregorianCalendar.YEAR))+"','dd-mm-yyyy'))"); stmt.close(); iline = iline + 1; }; // запись в таблицу истории stmt = con.createStatement(); stmt.executeUpdate("insert into pr_history_fload(file_name,table_name,quantity,error_message,date_load,status) " + "values('"+element+"','person','"+iline+"','load',to_date('"+(gcalendar.get(GregorianCalendar.DATE))+"-"+((gcalendar.get(GregorianCalendar.MONTH))+1)+"-"+(gcalendar.get(GregorianCalendar.YEAR))+"','dd-mm-yyyy'),1)"); stmt.close(); in.close(); // перемещение файла в архиную папку String src = person_dir+element; String dst = arhive_dir+element; File file1 = new File(src); File ff1 = new File(dst); file1.renameTo(ff1); }; // загрузка в таблицу p_adres path = new File(p_adres_dir); list = path.list(); for(int i = 0; i < list.length; i++) { element = list; GregorianCalendar gcalendar = new GregorianCalendar(); BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(p_adres_dir+element),enc)); //StringBuffer text=new StringBuffer(); String line=null; iline = 0; while((line=in.readLine())!=null){ data = line.split("\\|\\*\\|"); stmt = con.createStatement(); stmt.executeUpdate("insert into p_adres(id,n_adr,ps,ibd_arx,dt_izm) " + "values('"+data[0]+"','"+data[1]+"','"+data[2]+"','"+data[3]+"',to_date('"+(gcalendar.get(GregorianCalendar.DATE))+"-"+((gcalendar.get(GregorianCalendar.MONTH))+1)+"-"+(gcalendar.get(GregorianCalendar.YEAR))+"','dd-mm-yyyy'))"); stmt.close(); iline = iline + 1; }; // запись в таблицу истории stmt = con.createStatement(); stmt.executeUpdate("insert into pr_history_fload(file_name,table_name,quantity,error_message,date_load,status) " + "values('"+element+"','p_adres','"+iline+"','load',to_date('"+(gcalendar.get(GregorianCalendar.DATE))+"-"+((gcalendar.get(GregorianCalendar.MONTH))+1)+"-"+(gcalendar.get(GregorianCalendar.YEAR))+"','dd-mm-yyyy'),1)"); stmt.close(); in.close(); String src = p_adres_dir+element; String dst = arhive_dir+element; File file2 = new File(src); File ff2 = new File(dst); file2.renameTo(ff2); }; } private static boolean insideOracle() { // If oracle.server.version is non null, we''re running in the database String ver = System.getProperty("oracle.server.version"); return (ver != null && !ver.equals("")); } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 14:03:53 |
|
||
|
Перемещение файлов
|
|||
|---|---|---|---|
|
#18+
Что это такое? Код: plaintext 1. 2. 3. P.S. Пользуйтесь тегом SRC и нормальным редактором. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 14:12:43 |
|
||
|
Перемещение файлов
|
|||
|---|---|---|---|
|
#18+
извиняюсь. должно было быть так Код: plaintext 1. 2. 3. ошибку нашел, просто какой-то процесс работал с файлом и не разрешал его перемещать :) Про SRC учту, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2007, 14:21:31 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34729443&tid=2144896]: |
0ms |
get settings: |
17ms |
get forum list: |
26ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
57ms |
get topic data: |
20ms |
get forum data: |
4ms |
get page messages: |
75ms |
get tp. blocked users: |
2ms |
| others: | 325ms |
| total: | 540ms |

| 0 / 0 |
