投稿者 スレッド: サイズの大きいファイルの読み込み  (参照数 79 回)

satoma

  • 新ユーザー
  • *
  • 投稿: 3
サイズの大きいファイルの読み込み
« 投稿日:: 2019年 2月 22日 , 午後 01:30:29 »
1MByteくらいのXML fileをテクストとして読み込んで解析を行ないたいのですが、以下のようなサンプルだと256Byteまでしか読み込まない(A$が256Byte?)のですが、A$のサイズを拡大する方法、あるいは別のうまい方法があればご教授ください。

open "C:\test\test.txt" for input as #1
input #1, A$
print A$
close #1

takeuchi

  • 管理人
  • *****
  • 投稿: 60
Re:サイズの大きいファイルの読み込み
« Reply #1 投稿日:: 2019年 2月 23日 , 午後 10:57:46 »
こんばんは,
テキストファイルの読み込みは

ReadAllLines

を使うのが良いでしょう。数メガのファイルでもすぐに読み込めます。
使い方は,ヘルプの当該項目,あるいは,BASIC入門「ファイル操作」の22ページ付近に書いてあります。
例えば,

dim RText$(10000)
F$="C:\test\test.txt"
RText$()=ReadAllLines(F$)
For i=1 to Val(RText$(0))
   Print RText$(i)
Next i
End

で,ファイルが読み込まれ,画面に表示されます。
お試しください。


satoma

  • 新ユーザー
  • *
  • 投稿: 3
Re:サイズの大きいファイルの読み込み
« Reply #2 投稿日:: 2019年 2月 27日 , 午後 01:50:01 »
回答ありがとうございます。
大きなサイズの文字型変数を定義してファイルを一気に読み込むようなことはできないのでしょうか?


takeuchi

  • 管理人
  • *****
  • 投稿: 60
Re:サイズの大きいファイルの読み込み
« Reply #3 投稿日:: 2019年 2月 28日 , 午後 12:55:01 »
こんにちは,

>大きなサイズの文字型変数を定義してファイルを一気に読み込むようなことはできないのでしょうか?

 可能です。文字列変数は特に指定しなくても,大きな文字列でも読み込めます。
ReadAllText
を使えば,文字列にテキストファイル全体を一度に読み込むことができます。

If FileExists("Mytext.txt") then
   A$=ReadAllText("Mytext.txt")
End If
Print A$
End

 勿論,この場合,A$には改行コード(CRLF)が含まれますから,その処理はユーザー側で行う必要があります。

satoma

  • 新ユーザー
  • *
  • 投稿: 3
Re:サイズの大きいファイルの読み込み
« Reply #4 投稿日:: 2019年 3月 05日 , 午後 02:52:06 »
できました。ありがとうございます。