イントラマートでファイルから1行ずつテキストを読み込む

2018/02/07イントラマートintra-mart ver7.2,スクリプト開発

記事内に広告が含まれています。

イントラマートのスクリプト開発でFileオブジェクト,VirtualFileオブジェクトのどちらにもファイルから1行ずつテキストを読み込むメソッドが見つからなかったのでJavaのクラスを呼び出して実現します。

イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。 イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。
スポンサーリンク

イントラマートでファイルから1行ずつテキストを読み込む

実際のソースファイルです。

try{
    var    filename = "c:/imart/storage/aaa.txt" ;
    var    file = new java.io.File( filename ) ;
    var    br = new java.io.BufferedReader( new java.io.FileReader( file )) ;

    var str = "" ;
    while( 1 ){
        str = new String( ( br.readLine().toString()) ) ;
        if( str == null ){
            br.close() ;
            break ;
        }
        Debug.print( str ) ;
    } catch( e ) {
        Module.alert.write( e + "\n" + filename + "ファイルを読み込めませんでした。" ) ;
}

Javascriptからも問題なくBufferedReaderなどが呼び出せるので、大きなファイルを読み込んだ時に「java.lang.OutOfMemoryError: Java heap space」が出て処理が出来なかったので1行ずつ読んでみました。

システムトラストでは一緒に働いていただける仲間を募集中です。
記事内に広告が含まれています。
株式会社システムトラスト

システムトラストでは、システムエンジニア、プログラマーなどを随時募集中です。気軽にご相談ください。

お問合せ