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

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

新規登録して質問してみよう
ただいま回答率
85.50%
アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

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

Q&A

2回答

337閲覧

C#でファイルへの書き込み方

iwantmoney0125

総合スコア6

アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

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

0グッド

0クリップ

投稿2017/12/04 03:19

C#でファイルへの書き込み方を調べていてネットにあったものを使ったのですが、FileStreamとFileModeとFileAccessが名前空間'System.IO'に存在しません。アセンブリ参照が不足している。というエラーが出るのですが、何を追加すればいいのでしょうか

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices.WindowsRuntime;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI;
using Windows.UI.Popups;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Media.Imaging;
using Windows.UI.Xaml.Navigation;
using Windows.UI.Xaml.Shapes;
using WindowsPreview.Kinect;

using System.Threading.Tasks;
using Windows.Storage;
using Windows.Storage.Streams;

//ファイルを作成して書き込む
//ファイルが存在しているときは、上書きする
System.IO.FileStream fs = new System.IO.FileStream(
@"C:\test.txt",
System.IO.FileMode.Create,
System.IO.FileAccess.Write);
//バイト型配列の内容をすべて書き込む
fs.Write(bodyIndexBuffer, 0, bodyIndexBuffer.Length);
//閉じる
fs.Close();

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

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

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

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

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

guest

回答2

0

こんにちは。

Windows名前空間を使っているようなので、おそらくUWPアプリケーションですよねこれ。

であれば、FileStreamで直接ファイル読み取りは出来なかったと思います。
UWPのお作法がありますのでファイルアクセス部分は以下などを参考に修正されたほうがよろしいかと思います。

https://docs.microsoft.com/ja-jp/windows/uwp/files/quickstart-reading-and-writing-files

投稿2017/12/07 02:39

Tak1wa

総合スコア4791

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

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

0

コレ一部抜粋ですか?
もしかしてクラス定義されてないから…的なオチだったり?

投稿2017/12/04 04:09

HiroshiWatanabe

総合スコア2160

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

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

iwantmoney0125

2017/12/04 05:42

すみません。初心者で抜粋する場所がいまいちわからず、エラーの出るところだけ書いていました。下記のものもプログラムの一部ではあるのですが、ひとくくりだと思われるところを載せます。 private void DrawBodyIndexFrame() { //ボディインデックスデータをBGRAデータに変換する for (int i = 0; i < bodyIndexBuffer.Length; i++) { var index = bodyIndexBuffer[i]; int colorindex = i * 4; if (index != 255) { var color = bodyIndexColors[index]; bodyIndexColorBuffer[colorindex + 0] = color.B; bodyIndexColorBuffer[colorindex + 1] = color.G; bodyIndexColorBuffer[colorindex + 2] = color.R; bodyIndexColorBuffer[colorindex + 3] = 255; //ファイルを作成して書き込む //ファイルが存在しているときは、上書きする System.IO.FileStream fs = new System.IO.FileStream( @"C:\test.txt", System.IO.FileMode.Create, System.IO.FileAccess.Write); //バイト型配列の内容をすべて書き込む fs.Write(bodyIndexBuffer, 0, bodyIndexBuffer.Length); //閉じる fs.Close(); } else { bodyIndexColorBuffer[colorindex + 0] = 0; bodyIndexColorBuffer[colorindex + 1] = 0; bodyIndexColorBuffer[colorindex + 2] = 0; bodyIndexColorBuffer[colorindex + 3] = 255; //ファイルを作成して書き込む //ファイルが存在しているときは、上書きする System.IO.FileStream fs = new System.IO.FileStream( @"C:\test.txt", System.IO.FileMode.Create, System.IO.FileAccess.Write); //バイト型配列の内容をすべて書き込む fs.Write(bodyIndexBuffer, 0, bodyIndexBuffer.Length); //閉じる fs.Close(); } //bodyIndexColorBuffer2[] = bodyIndexColorBuffer[]; } //ビットマップにする var stream = bodyIndexColorBitmap.PixelBuffer.AsStream(); stream.Write(bodyIndexColorBuffer, 0, bodyIndexColorBuffer.Length); bodyIndexColorBitmap.Invalidate(); } クラス定義ということはpublic ~{}ですか?(初心者で全く分からなくてごめんなさい) ネットに上がっているプログラムをくっつけて作っているので意味の分からないことをしているのかも・・・
HiroshiWatanabe

2017/12/04 06:11

例えば http://ufcpp.net/study/csharp/st_basis.html とか。基本的な体裁が守られているのかな?という疑問でした。 そこに問題無いならエラーのでるブロックをコメントにする等して削るとエラーは無くなりますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問