0

私がやりたいことは、複数のファイルを開き、すべてのファイルからテキストを読み取り、特定のキーワードをチェックして、それらすべてを新しいファイルに出力することです。完了すると、すべてのキーワードを含む新しいファイルが作成されます。すでに foreach を使用してすべてのファイル名を反復処理しており、複数のファイルを開く方法は知っていますが、コンテンツを取得して特定の条件を確認しながら同時に印刷するにはどうすればよいでしょうか?

以下は、私がこれまでに持っているもののほんの一例であり、かなり標準的なものです。

みんなありがとう!

  if (dr == System.Windows.Forms.DialogResult.OK)
        {
            // Read the files
            foreach (String file in openFileDialog1.FileNames)
            {

                try
                {

                    listView1.Items.Add(file);

                }
                catch (SecurityException ex)
                {
                    // The user lacks appropriate permissions to read files, discover paths, etc.
                    MessageBox.Show("Security error. Please contact your administrator for details.\n\n" +
                        "Error message: " + ex.Message + "\n\n" +
                        "Details (send to Support):\n\n" + ex.StackTrace
                    );
                }
                catch (Exception ex)
                {
                    // Could not load the image - probably related to Windows file system permissions.
                    MessageBox.Show("Cannot display the image: " + file.Substring(file.LastIndexOf('\\'))
                        + ". You may not have permission to read the file, or " +
                        "it may be corrupt.\n\nReported error: " + ex.Message);
                }

            }

        }
4

3 に答える 3

1

ファイルを読み取るには、 を使用しますSystem.IO.File.ReadAllText()。これにより、すべてのコンテンツが文字列変数に入れられます。

于 2012-06-20T13:59:16.663 に答える
0
Try
            Using sr As New StreamReader("TestFile.txt")
                Dim line As String
                Do
                    line = sr.ReadLine()
                    If Not (line Is Nothing) Then
                       Console.WriteLine(line)
                    End If
                Loop Until line Is Nothing
            End Using
        Catch e As Exception
            Console.WriteLine("The file could not be read:")
            Console.WriteLine(e.Message)
        End Try

;)

于 2012-06-20T14:32:45.167 に答える
0

SoMoS が提案するようにSystem.IO.File.ReadAllText()を使用してファイルを読み取ります。最適な方法で文字列を検索し、 StreamWriterを使用してデータを書き戻します。

于 2012-06-20T14:11:54.717 に答える