DOBON.NET DOBON.NETプログラミング掲示板過去ログ

インターネット上のテキストファイルのDLし、NOTEPADでも改行させるためには?

環境/言語:[VB.NET2008 Express]
分類:[.NET]

2012/10/14(Sun) 19:23:00 編集(投稿者)

VB.NETにおいてWEB上にあるテキストファイルをDLして保存したいのですが、
どうしても、改行がLF? になってしまうようで
Notepadで開いたときに改行されて内容に見えてしまいます。
対象の人たちが他のテキストエディタがあれば、いいんですが、
あるとは限らないため、Notepadも改行されてるようにみえるにはどのようにしたらよいでしょうか?
■No31024に返信(ライトさんの記事)
> VB.NETにおいてWEB上にあるテキストファイルをDLして保存したいのですが、
> どうしても、改行がLF? になってしまうようで
> Notepadで開いたときに改行されて内容に見えてしまいます。

そもそも、元ファイルが Lf 改行なのではありませんか?

サイト管理者の方に、CrLf 改行に変換してアップロードしてもらうか、
もしくは、プログラム側で改行コードを変換してみては如何でしょう。


あるいは、もしもダウンロードしたテキストファイルの内容を
String 型変数に格納できているようであれば、それを下記のように変換すれば、
元の改行が Lf/Cr/CrLf のいずれでも、改行コードを統一できるかと思います。


Function ChangeNewline(ByVal src As String, Optional ByVal newLine As String = vbCrLf) As String
    If src Is Nothing Then
        Return Nothing
    Else
        Return src.Replace(vbCrLf, vbLf).Replace(vbCr, vbLf).Replace(vbLf, newLine)
    End If
End Function
ありがとうございます。教えてもらったコードでうまくいきました。
もともとは自分のレンタルWEB鯖で、Notepadで作ったテキストだったんですが うまくいかなかったのです。 ANSIかそのあたりで何かちがいでもあったんでしょうか? stringではもともと取得してたので Replaceはかけてみたりしたのですがうまくいかなかたんです。 何はともあれ 大変ありがとうございます 無事に解決できました。Replaceってこんなかき方もできるんだと大変勉強になり、感謝しております。



■No31025に返信(魔界の仮面弁士さんの記事)
> ■No31024に返信(ライトさんの記事)
>>VB.NETにおいてWEB上にあるテキストファイルをDLして保存したいのですが、
>>どうしても、改行がLF? になってしまうようで
>>Notepadで開いたときに改行されて内容に見えてしまいます。
>
> そもそも、元ファイルが Lf 改行なのではありませんか?
>
> サイト管理者の方に、CrLf 改行に変換してアップロードしてもらうか、
> もしくは、プログラム側で改行コードを変換してみては如何でしょう。
>
>
> あるいは、もしもダウンロードしたテキストファイルの内容を
> String 型変数に格納できているようであれば、それを下記のように変換すれば、
> 元の改行が Lf/Cr/CrLf のいずれでも、改行コードを統一できるかと思います。
>
>
> Function ChangeNewline(ByVal src As String, Optional ByVal newLine As String = vbCrLf) As String
> If src Is Nothing Then
> Return Nothing
> Else
> Return src.Replace(vbCrLf, vbLf).Replace(vbCr, vbLf).Replace(vbLf, newLine)
> End If
> End Function
解決済み!
2012/10/18(Thu) 23:36:26 編集(投稿者)

■No31026に返信(ライトさんの記事)
> もともとは自分のレンタルWEB鯖で、Notepadで作ったテキストだったんですが うまくいかなかったのです。

レンタルのWebサーバにアップロードする際に改行コードを
意識せずに変換してしまっている可能性があります。

Notepadで普通にテキストを作ると改行コードはCR+LF(Windowsの改行コード)となります。
レンタルサーバがUnix系のサーバであれば、レンタルサーバの改行コードはLFです。
FTPで転送モードAsciiでファイルをアップロードすると転送時に送信先のサーバに合わせて改行コードが変換されますので意図せず改行コードをLFに変換してしまうことになります。

FTP転送時にBinaryモードでアップロードすればCR+LFのままとなります。
解決済み!
本日気づきました。 有益な情報ありがとうございます。
このことは知りませんでした。 今度からこのようにアップしてみたいと思います
ありがとうございました。

■No31051に返信(よねKENさんの記事)
> 2012/10/18(Thu) 23:36:26 編集(投稿者)
>
> ■No31026に返信(ライトさんの記事)
>>もともとは自分のレンタルWEB鯖で、Notepadで作ったテキストだったんですが うまくいかなかったのです。
>
> レンタルのWebサーバにアップロードする際に改行コードを
> 意識せずに変換してしまっている可能性があります。
>
> Notepadで普通にテキストを作ると改行コードはCR+LF(Windowsの改行コード)となります。
> レンタルサーバがUnix系のサーバであれば、レンタルサーバの改行コードはLFです。
> FTPで転送モードAsciiでファイルをアップロードすると転送時に送信先のサーバに合わせて改行コードが変換されますので意図せず改行コードをLFに変換してしまうことになります。
>
> FTP転送時にBinaryモードでアップロードすればCR+LFのままとなります。
>
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板