イントラマートでファイルから1行ずつテキストを読み込む
イントラマートのスクリプト開発で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行ずつ読んでみました。