
No.2ベストアンサー
- 回答日時:
簡単にしてみました。
' ファイルのパス
Dim path As String = "C:\sample.txt"
' UTF8でファイルから入力
Dim input As New IO.StreamReader(path, System.Text.Encoding.UTF8)
' Shift-JISでファイルへ出力
Dim output As New IO.StreamWriter(path & ".txt", False, System.Text.Encoding.GetEncoding("shift_jis"))
' inputの内容をすべて読み込み、outputへ書き込む
output.Write(input.ReadToEnd())
' ストリームを閉じる
input.Dispose()
output.Dispose()
> 私は初心者なので、ちょっと複雑すぎて解りかねます。難しいです。
難しくてもこれがファイルアクセスの現実です。
簡単にしたコードは載せましたが、私ならこのコードは使いません。問題点がいくつもあるからです。それらの問題点を解消していくと#1 himajin100000さんのような複雑なコードになっていきます。
(個人でツール代わりに使う程度ならこれでも支障ありませんけどね。。。)
この回答への補足
早速のご回答ありがとう御座います。
試しに試みましたが、test.php.txtと言うファイルが仮に出来ておりますが、中身は空です。
元のtext.phpはやっぱり変化が無いです。
どこかまだ不備があるのでしょうか。
申し訳御座いませんが、助言を宜しくお願い致します。
済みません。
旨くいきました。
私のプログラムが悪かったのです。
コード変換をした後書き込みをしましたので、けされていたみたいです。
それで、ファイルを作成、データを書き込みした後、コード変換すればばっちり旨くいきました。
有り難う御座いました。
No.4
- 回答日時:
VS2008からHTMLを作成するPGのコンテントタイプはどうなっているでしょうか?"Content-Type"の関係で、表示が乱れるってなかったでしたっけ?
最近コーディングから遠ざかっているので、ぱっとコードが例示できないのですが、応急処置としてNKFを使うって言うのはいかがでしょうか?
No.3
- 回答日時:
> 中身は空です。
すみません。Flushし忘れてました。下記の通り1行追加して試してみてください。
' inputの内容をすべて読み込み、outputへ書き込む
output.Write(input.ReadToEnd())
output.Flush() ' ←これを追加してください。
' ストリームを閉じる
input.Dispose()
output.Dispose()
この回答への補足
ご回答有り難う御座います。
でも、やっぱり中身は空っぽですね。
おかしいなー。
最初と変わりませんが。
なんで、空っぽなのかなー??
すみません。
宜しくお願い致します。
すみません。
以下のファイルクリエイト文を入れたり外したりすると旨くいったりいかなかったりします。
この記述は、コード変換の前に入れております。
最初1回目は入れておく。そうするとファイルが出来ますので。
入れないとファイルが見つかりませんとエラーがでます。
もう一度デバッグをしますと空ファイルが出来ますので、今度は以下のクリエイト文を外すと旨く文字変換文を書いてくれました。
ファイル名は、test.php.txt です。
このあたりに問題があるようですが、もし解れば宜しくお願い致します。
Dim hStream_main As System.IO.FileStream.System
Dim path As String = TextBox1.Text
hStream_main = System.IO.File.Create(path)
If Not hStream_main Is Nothing Then
hStream_main.Close()
End If
No.1
- 回答日時:
Option Explicit On
Option Strict On
Option Compare Binary
Option Infer Off
Class Q5419829A
Shared Sub Main()
'EUC-JPのファイルを読み取ってShift_JISのファイルを書き出す。
'何でこんな複雑に書いているかと言うと
'1.pathを文字列で指定するよりもSystem.IO.Streamを引数にとるものを示したほうが
'System.Net.Sockets.NetworkStream等をやりたい場合に応用が利くかな、と。
'2.Windowsの嫌な挙動を回避するため
'http://gihyo.jp/admin/serial/01/charcode/0007
'あと、System.Text.EncodingクラスにはGetStringメソッドやGetBytesメソッドがあるので
'併せて見ておくとよい
'例外処理(ファイルが見つからなかったときなど)の処理は面倒なので省略している。
Dim str As String
Dim fs1 As System.IO.FileStream = New System.IO.FileStream("C:\Q5419829-1.txt",System.IO.FileMode.Open,System.IO.FileAccess.Read)
Dim sr As System.IO.StreamReader = New System.IO.StreamReader(fs1, _
System.Text.Encoding.GetEncoding(51932, _
System.Text.EncoderFallBack.ExceptionFallback, _
System.Text.DecoderFallBack.ExceptionFallback _
) _
)
str = sr.ReadToEnd()
sr.Close()
Dim fs2 As System.IO.FileStream = New System.IO.FileStream("C:\Q5419829-2.txt",System.IO.FileMode.Create,System.IO.FileAccess.Write)
Dim sw As System.IO.StreamWriter = New System.IO.StreamWriter(fs2, _
System.Text.Encoding.GetEncoding(932, _
System.Text.EncoderFallBack.ExceptionFallback, _
System.Text.DecoderFallBack.ExceptionFallback _
) _
) _
sw.Write(str)
sw.Close()
End Sub
End Class
この回答への補足
早速のご回答ありがとうございました。
今調べて見ますと、text1.tex の中身のコードは「UTF8」でした。
UTF-8をもっと簡単に変換する方法は無いのでしょうか。
私は初心者なので、ちょっと複雑すぎて解りかねます。難しいです。
私のプログラムにあわせれば、どこをどう直して良いの解りません。
text1.texの中身のみをUTF-8からSHIT-JISに変換する方法を教えて戴けないでしょうか。
申し訳御座いませんが宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) 文字コード及びフォントに関する次の記述を読み,適切なものをすべて選べ。 ASCIIとは,英数字だけを 4 2023/01/11 19:10
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- その他(パソコン・スマホ・電化製品) ウィンドウ11 メモ帳が文字化けしました。 5 2022/08/06 08:42
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- Java VScodeのターミナルの文字化けについて 1 2022/09/27 22:19
- HTML・CSS CSSファイルの日本語コメントが文字化けしてしまう 3 2022/12/26 15:50
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Evernote Evernote(エバーノート)の文字化け 1 2022/04/05 19:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0バイトのテキストファイル
-
Eclipseで検索ができなくなった
-
<input type="file" で初期値...
-
VB6.0のメモリリークについて
-
VBAで、JPG写真の撮影日時を読...
-
msgget()で指定するkey値について
-
RPGでメッセージファイル利用
-
Indy FTP サーバー上のファイル...
-
VB2008 iniファイルの全セクシ...
-
ファイル内容を比較する方法
-
【VBA】印刷マクロのループ処理...
-
main関数のコマンドライン引数...
-
accessでクエリをExcelにエクス...
-
CSVファイルの時刻の形式について
-
テキストファイルの一部分を抽...
-
ATTファイルってどうやって開け...
-
fgetsのエラー
-
VB(VBA)で、バイナリデータを使...
-
コマンドプロンプトのテキスト...
-
CSV形式で保存するとファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0バイトのテキストファイル
-
Eclipseで検索ができなくなった
-
【Excel VBA】取り込んだファイ...
-
C++.NET 2003 「空のドキュメ...
-
HTMLまたはJavaScriptでフ...
-
VBAで、JPG写真の撮影日時を読...
-
main関数のコマンドライン引数...
-
HTMLテキストリンクでExcelファ...
-
ファイル作成日時と更新日時を...
-
リソースファイルを認識してく...
-
Javaのファイルダウンロードに...
-
2GB以上のファイルを扱う方法
-
C#について質問【複数の.datフ...
-
ディレクトリのサイズの取得
-
PHPからベーシック認証のかかっ...
-
<input type="file" で初期値...
-
VB2008 iniファイルの全セクシ...
-
教えて下さい。
-
サイトマップにサブドメインを...
-
vbaの構文の修正相談(xmlファ...
おすすめ情報