2

私はこれが以前に数回答えられたことを知っています。しかし、私はこれにC#を求めています。一方、Javaにはいくつかありました。C#用にもう1つありましたが、どこにも行きませんでした。ですから、私には理由があるので、評価を下げないでください。ありがとうございました。

私の最終的な目標は、アプリケーションに設定機能を持たせることです。そして、これらすべての設定をテキストファイルに保存したいと思います。そして、アプリケーションが開くと、そのファイルが自動的に読み取られ、フォームのコントロールが調整されます。

どこから始めたらいいのかわからないけど、

String readLine(File file, int lineNumber)

前もって感謝します。

すでにファイルを保存していて、ファイルを開いています。しかし、そこに保存されている設定は1つだけです。そして、それは最初の行を取ります。ただし、オプションごとに新しいファイルを作成するのではなく、保存するコントロールをさらに追加したい場合は、そのファイルに複数の行を配置します。各行には、変更する独自のコントロールがあります。

では、どうすればテキストファイルの特定の行を読み取ることができますか?

もう一度ありがとう。

4

3 に答える 3

3

各テキスト行の長さは異なる可能性があるため、主にテキストファイルの各行を読み取って特定の行を見つける必要があります(必要に応じてその行で停止します)。そのため、ファイル内のオフセットを計算してそこに移動することはできません。

これが本当に構成ファイルである場合(おそらく巨大ではない場合は、次を使用できます)

string[] lines = File.ReadAllLines(myPath);

http://msdn.microsoft.com/en-us/library/s2tte0y1.aspx

このようにして、ファイルのすべての行が読み込まれlines、次のような個々の行にアクセスできます。

string line = lines[2];

本当に特定の行だけを読みたい場合(ファイルの最初から読み直し続けるため、アプリで時間の経過とともに複数の行を読むと、これは非常に非効率になることに注意してください)、独自の行を作成する必要がありますヘルパールーチン。

于 2012-07-21T16:53:09.570 に答える
2

設定機能が必要な場合は、デフォルトを使用し、独自の機能を使用しないでください。ユーザーがUACまたは非管理者アカウントで実行しているときに変更できるように、解析とアップグレード、および保存する場所の検索でさらに問題が発生するだけです。

于 2012-07-21T16:52:03.593 に答える
2

すべての行が完全に同じ長さでない限り、ファイル内の特定の行番号にスキップすることはできません。ほとんどのオプションが必要な場合は、次を使用してファイルを行の配列として読み取るだけですSystem.IO.File.ReadAllLines

string[] lines = File.ReadAllLines("myfile.txt");

次に、通常どおりに各行にアクセスできます。たとえばlines[1]、2行目にアクセスできます。

また、これらの設定を他の方法で変更する必要がない場合は、組み込みの設定を使用してください。彼らはあなたのためにすべてを処理します。

于 2012-07-21T16:52:21.377 に答える