- PR -

ASP.NETでのファイル操作

投稿者投稿内容
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-25 10:28
言語はVBを使用しています。Webアプリでウェブページのリストボックスのアイテムを
テキストファイル(一行ずつ)に保存したいと思い、ファイル操作について勉強中です。VBでは、Dim ファイルのパス as string = C:\〜
Set fs = CreateObject("ScriptingFileSystemObject")
としてできたと思うのですが、ASPではSetを使えないと思うのですがDimを使うのでしょうか?
また、ファイルのFileExitメソッドとかは使えるのでしょうか?
ファイルがなければ作成、あればアップロードみたいにしたいのですが、アップロードにするとform 要素に追記する必要がありそれが参照ボタンが自動でページに付加されてしまうということになると嫌なので毎回、古いのは削除して新しく作成されるように
したほうがいいのかというところも悩んでいます。
ちょとわかりずらいかもしれませんがアドバイスお願いします。
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-04-25 10:50
ファイルの操作関連は検索すればわさわさ出てくると思いますので
まず検索してみてください。

ちょうど @IT でこんな記事が出てましたね
http://www.atmarkit.co.jp/fdotnet/special/onlineres2006/onlineres2006_01.html

引用:

としてできたと思うのですが、ASPではSetを使えないと思うのですがDimを使うのでしょうか?


このあたりはいまいち意味がつかめないですが。
もう少し基礎の部分を勉強したほうが良いかも知れませんね。

#ASP.NET でも Set は使えますよ、使わないですけど
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-25 10:56
引用:

かるあさんの書き込み (2006-04-25 10:50) より:

#ASP.NET でも Set は使えますよ、使わないですけど


Set キーワードは、プロパティ プロシージャのみになりましたね。
代入ステートメントの Set と Let は廃止になっています。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-04-25 11:04
引用:

じゃんぬねっとさんの書き込み (2006-04-25 10:56) より:

Set キーワードは、プロパティ プロシージャのみになりましたね。
代入ステートメントの Set と Let は廃止になっています。


あっ!!そうでした!!
フォローありがとうございます。
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-25 12:17
じゃんぬねっとさんを参考に以下のようにしてみたのですが、
fs を破棄する部分で値が割り当てられる前に使用していますの警告がでます。
どこを直せばよろしいのでしょうか?
    Dim fs As System.IO.FileStream
If System.IO.File.Exists(ファイルのパス) = False Then

Try
Try
' 指定したパスのファイルを作成する
fs = System.IO.File.Create(ファイルのパス)
Finally
'FileStream を利用して閉じる
If Not fs Is Nothing Then
fs.Close()
End If
End Try
Finally
' fs を破棄する
If Not fs Is Nothing Then
Dim fsDisposable As System.IDisposable = fs
fsDisposable.Dispose()
End If
End Try
End If
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-04-25 12:29
引用:

武装キョンシーさんの書き込み (2006-04-25 12:17) より:

fs を破棄する部分で値が割り当てられる前に使用していますの警告がでます。
どこを直せばよろしいのでしょうか?


fs = System.IO.File.Create(ファイルのパス) をふたつ内側へ移動する。
で良いのですが、2005 (2.0) であれば Using を使いましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2006-04-25 12:32
引用:

Dim fs As System.IO.FileStream
fs を破棄する部分で値が割り当てられる前に使用していますの警告がでます。


fs に値をセットする前に使われるコードパスがあります。
宣言と同時にインスタンスを割り当てないなら明示的になにかを入れてあげてください。

ってことは VS2005 ですよね
VS2005 からは VB.NET でも Using ステートメントが使えるのでこれも調べてみてください。

# サンプルをコピペしただけじゃしょうがない

[ メッセージ編集済み 編集者: かるあ 編集日時 2006-04-25 12:47 ]
武装キョンシー
ベテラン
会議室デビュー日: 2006/04/07
投稿数: 57
投稿日時: 2006-04-25 16:05
Usingというのはいまいちつかめないのですが、このUsingを使うことによって
例外処理であるtry catchを使わなくても例外がスローされるような機能をもっていると
いうことでしょうか?

スキルアップ/キャリアアップ(JOB@IT)