質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

5962閲覧

vbにて読み込んだテキストファイルを配列に格納して変数にセットするには

kumakumatan

総合スコア213

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2018/06/07 02:23

OS:Windows7Sp1
VisualStudio2017community
言語:VisualBasic.NET

test.txtファイルがあります。

-----test.txtファイルの中身---------
あいうえお
かきくけこ
さしすせそ

これを読み込ませて配列変数にセットして
変数名にセットする処理を考えています。

vb

1' StreamReader の新しいインスタンスを生成する 2Dim cReader As New System.IO.StreamReader("c:\test.txt", System.Text.Encoding.Default) 3' 読み込んだ結果をすべて格納するための変数を宣言する 4 Dim stResult As String = String.Empty 5 ' 読み込みできる文字がなくなるまで繰り返す 6 While (cReader.Peek() >= 0) 7 ' ファイルを 1 行ずつ読み込む 8 Dim stBuffer As String = cReader.ReadLine() 9 ' 読み込んだものを追加で格納する 10 stResult &= stBuffer & System.Environment.NewLine 11 End While 12 ' cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照) 13 cReader.Close() 14 ' 結果を表示する 15 MessageBox.Show(stResult)

「stResult」に読み込んだ値をセットして表示させる事はできたのですが、
stResult[0]の値「あいうえお」を表示できるようにしたく思います。
最終的には
test1 As String = stResult[0]
とセットして「test1」の値に「あいうえお」とセットできるようにしたく思います。

どのようにしたら実現できるかご教示いただきたく宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Listを使うのはどうでしょう。

' StreamReader の新しいインスタンスを生成する Dim cReader As New System.IO.StreamReader("c:\test.txt", System.Text.Encoding.Default) ' 読み込んだ結果をすべて格納するための変数を宣言する Dim stResult As List(Of String) = New List(Of String)() ' 読み込みできる文字がなくなるまで繰り返す While (cReader.Peek() >= 0) ' ファイルを 1 行ずつ読み込む stResult.Add(cReader.ReadLine()) End While ' cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照) cReader.Close() ' 結果を表示する MessageBox.Show(stResult(0))

また、StreamReaderオブジェクトはUsing句で宣言するのが推奨されています。

Try ~ Finally と Using による確実な終了処理

投稿2018/06/07 02:54

ponpu1601

総合スコア166

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kumakumatan

2018/06/07 04:36

ありがとうございます。出来ました! Dim cReader As New System.IO.StreamReader(strFileName, System.Text.Encoding.Default) Try ' StreamReader の新しいインスタンスを生成する 'Dim cReader As New System.IO.StreamReader("c:\test.txt", System.Text.Encoding.Default) ' 読み込んだ結果をすべて格納するための変数を宣言する Dim stResult As List(Of String) = New List(Of String)() ' 読み込みできる文字がなくなるまで繰り返す While (cReader.Peek() >= 0) ' ファイルを 1 行ずつ読み込む stResult.Add(cReader.ReadLine()) End While ' cReader を閉じる (正しくは オブジェクトの破棄を保証する を参照) cReader.Close() ' 結果を表示する MessageBox.Show(stResult(0)) Catch ex As Exception ' 何かエラー処理を行う Finally ' 読み込みファイルを閉じる If cReader IsNot Nothing Then cReader.Close() End If End Try
guest

0

File.ReadAllLines メソッド (String)を使われるのが良いかと思います。
エンコーディングを指定するのであれば、
File.ReadAllLines メソッド (String, Encoding)
こちらを使ってください。

投稿2018/06/07 02:36

編集2018/06/07 02:40
YAmaGNZ

総合スコア10251

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問