
System.IO.StreamReader reader = new System.IO.StreamReader(Filename1, System.Text.Encoding.GetEncoding("utf-8"));
// データセットにXMLファイルを読み込む
dtSet.ReadXml(reader);
...
...
で読込んでいる(内容の変更はしない)ファイルを別Formで別のデータに変更したいのですが、何か方法がありませんか(読み込んだファイルの開放とか)?
File.Copy(FileName2,FileName1, true);
と出来たら一番簡単なのですが、使用中ですのようなエラーが出ます。
No.1ベストアンサー
- 回答日時:
読込終わった段階でClose()すればいいだけでは。
ただし、当たり前ですが、別プロセスからの書込みも許可されるようになります。
別プロセスとは、あらゆる外部プログラムを含みます。
そのため、要件によっては、正しいアプローチとは言えないかもしれません。
同一プロセス内での書込みを許可し、更には別プロセスでの読込/書込の許可制御をしたいならば、System.IO.FileStreamを併用すべきでしょう。
// 外部からの読込/書込を許可せずD:\hoge.xmlの読み書きを行う
using (var fs = new System.IO.FileStream(@"D:\hoge.xml",
System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite, System.IO.FileShare.None))
{
// 読み込み
using (var sr = new System.IO.StreamReader(fs, Encoding.UTF8))
{
var dt = new DataSet();
var xml = dt.ReadXml(sr);
// 上書き書き込み
//fs.SetLength(0);
//using (var sw = new System.IO.StreamWriter(fs, Encoding.UTF8))
//{
// sw.Write("test");
//}
// コピー元のファイルがあって上書きしたいなら
using (var copyFs = new System.IO.FileStream(@"D:\hoge2.xml",
System.IO.FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.None))
{
fs.SetLength(0);
copyFs.CopyTo(fs);
}
}
}
ありがとうございます。
reader.Close();
で、うまくいきました。
>ただし、当たり前ですが、別プロセスからの書込みも許可されるようになります。
>別プロセスとは、あらゆる外部プログラムを含みます。
>そのため、要件によっては、正しいアプローチとは言えないかもしれません。
とりあえず、そこまでは必要ありませんが、今後のプログラムで参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- XML エクセルのマクロについて教えてください。 3 2023/02/06 09:06
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
XMLファイルの作り方がわかりま...
-
UTF-8でエンコーディングとはど...
-
バッチファイルでテキストファ...
-
乱雑なCSSはどうにかしたい!!
-
タグの有無の判定
-
同じ値がある時にエラーを出したい
-
東芝のDynabookなのですがアン...
-
CPUの考え方を教えてください ...
-
特殊記号が勝手にエスケープさ...
-
XMLの要素の内容の中に要素
-
JSPでXMLのデータ表示が...
-
使用できる文字の規約
-
昔Winnyってありましたけど、あ...
-
XMLで要素が記述された順番に意...
-
C#のDataGridViewにCheckBox
-
ノード数とは?
-
C#でTreeViewのCheckBoxのサイ...
-
大規模行列の計算
-
ノードとは
-
XML
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイルでテキストファ...
-
DOSコマンドラインからxmlファ...
-
XMLファイルの作り方がわかりま...
-
XMLファイルのattribute値を取...
-
サーバー上にないxmlの読み込み
-
XMLデータを整形して、ブラウザ...
-
XMLの編集?について
-
ブログですが xmlとcssでh1タグ
-
ホームページビルダー19で作...
-
ExcelVBAで書き出した文字が化ける
-
XMLファイルの編集をExcel...
-
DOMデータを使ってSAXで解析す...
-
C#で使用中のファイルに別のフ...
-
eclipseへのxmlファイル追加
-
Windowsで見かけるxmlファイル...
-
RDFファイルは何故拡張子が.rdf...
-
NEXUS7でSecret No5の使い方
-
VBSでXMLを読込、検索結果をテ...
-
GoogleマップでKMLが読み込めない
-
xmlの出力をShift_JISで
おすすめ情報