このディレクトリの索引

http://pc12.2ch.net/test/read.cgi/tech/1232627790/958 
# 【 課題 】テキストファイルから文字列5行を読み込み、別のテキストへ縦書きで書き出す 
# 【 形態 】1. Javaアプリケーション(main()で開始) 
# 【 期限 】7/14 am6:00 
# 【 Ver  】Eclipse Version: 3.4.2 
# 【 補足 】 
# あいう 
# かきく 
# さしす 
# 上記のようなテキストファイルを読み込み、 
# あかさ 
# いきし 
# うくす 
# のように別のテキストファイルに書き出す感じです。 

'テキストファイルから文字列5行を読み込み、別のテキストへ縦書きで書き出す'(_テキストファイル,_別のテキストファイル) :-
        'テキストファイルから文字列5行を読み込み、'(_テキストファイル,LL),
        '別のテキストへ縦書きで書き出す'(_別のテキストファイル,LL),

'テキストファイルから文字列5行を読み込み、'(_テキストファイル,_行文字ならびのならび) :-
        open(_テキストファイル,read,Instream),
        文字列を5行読み込み(Instream,_行文字ならびのならび),
        close(Instream).

文字列を5行読み込み(Instream,_行文字ならびのならび) :-
        findall(_行文字ならび,(
                    between(1,5,N),
                    get_line(Instream,_行文字列),
                    atom_chars(_行文字列,_行文字ならび)),
                _行文字ならびのならび).

別のテキストファイルへ縦書きで書き出す(_別のテキストファイル,_行文字ならびのならび) :-
        別のテキストファイルへ(_別のテキストファイル,Outstream),
        縦書きで(_行文字ならびのならび,_縦書き),
        書き出す(Outstream,_縦書き).

別のテキストファイルへ(Outfile,Outstream) :-
        open(_別のテキストファイル,write,Outstream).

縦書きで(_行文字ならびのならび,_縦書き) :-
        最長の行文字数(_行文字ならびのならび,_最長の行文字数),
        空白文字を付加して行の文字数一致させる(_最長の行文字数,_行文字ならびのならび,_空白を付加し長さを揃えた行文字ならびのならび),
        行列の転置(_空白を付加し長さを揃えた行文字ならびのならび,_縦書き).

最長の行文字数(_行文字ならびのならび,_最長の行文字数) :-
        findmax(_行の文字数,(
                    member(_行文字ならび,_行文字ならびのならび),
                    length(_行文字ならび,_行の文字数)),
                _最長の行文字数).

空白文字を付加して文字数を一致させる(_最長の行文字数,_行文字ならびのならび,_空白を付加し長さを揃えた行文字ならびのならび) :-
        findall(_空白を付加し長さを揃えた文字ならび,(
                    member(_行文字ならび,_行文字ならびのならび),
                    length(_空白を付加し長さを揃えた行文字ならび,_最長の行文字数),
                    append(_行文字ならび,_空白を付加し長さを揃えた行文字ならび,_空白を付加し長さを揃えた行文字ならび),
                    all(L2,' ')),
                _空白を付加し長さを揃えた行文字ならびのならび).

書き出す(Outstream,[]) :-
        close(Outstream).
書き出す(Outstream,[_行文字ならび|R]) :-
        atomic_list_concat(_行文字ならび,_行文字列),
        format(Outstream,'~w\n',[_行文字列]),
        書き出す(Outstream,R).

all([],_).
all([V|R],V) :- all(R,V).