java 读取文件 和 执行SQL脚本 (支持中文)

 

 

读文件操作应用

 执行SQL脚本文件 

/**
 * 执行SQL脚本文件
 * 
@param  path
 * 
@throws  SQLException
 * 
@throws  ClassNotFoundException
 
*/
public   void  exeSQLScript(String path)  throws  SQLException, ClassNotFoundException
{
    
// 建立数据库连接
     if  ( this .conn  ==   null   ||  conn.isClosed())
        openConn();
    stmt 
=   this .conn.createStatement();
    
// 读取文件
     try
    {
        InputStream r 
=   new  FileInputStream(path);
        ByteArrayOutputStream byteout 
=   new  ByteArrayOutputStream();
        
byte  tmp[]  =   new   byte [ 256 ];
        
byte  context[];
        
int  i  =   0 ;
        
while  ((i  =  r.read(tmp))  !=   - 1 )
        {
            byteout.write(tmp);
        }
        context 
=  byteout.toByteArray();
        String str 
=   new  String(context,  " UTF-8 " );
        
//  分隔行
        String stra[]  =  str.split( " //; " );
        
for  ( int  n  =   0 ; n  <  stra.length; n ++ )
        {
            
// System.out.println(stra[n]);
            stmt.addBatch(stra[n]);
        }
        stmt.executeBatch();
    }
    
catch  (Exception e)
    {
        
//  TODO: handle exception
    }
}

 

 

读文件操作示例

 

package   wh;

import   java.io.BufferedReader;
import   java.io.ByteArrayOutputStream;
import   java.io.File;
import   java.io.FileInputStream;
import   java.io.FileReader;
import   java.io.FilterInputStream;
import   java.io.InputStream;

public     class   Stream
{
     
public     static     void   main(String[] args)
    {
         
try
        {
            InputStream  r  
=     new   FileInputStream (  "  c:/a.txt  "  );
            ByteArrayOutputStream byteout  
=     new   ByteArrayOutputStream();
             
byte   tmp []   =     new     byte  [  256  ];
             
byte   context [];
             
int   i   =     0  ;
             
while  ((i  =  r.read(tmp))  !=-   1  )
            {
                byteout.write(tmp);
            }
            context  
=   byteout.toByteArray();
            String str  
=     new   String(context,  " UTF-8 "  );
             
//  分隔行
            String stra []   =   str.split(  "     "  );
             
for  (  int   n   =     0  ;n  <  stra.length;n  ++  )
            {
                System.out.println(stra[n] 
+   "  ++++  "  );
            }
             
//  System.out.println(str);
        }   catch   (Exception e)
        {
             
//   TODO: handle exception
        }
    }
 

你可能感兴趣的:(JAVA)