2017-01-23 1 views
0

CON.txtという名前のtxtファイルを開こうとしたときにC#で奇妙な問題が発生しました。私はCON.DEシンボルにyahooファイナンスデータを保存したかったのです。C#はCON.DE.txtという名前のファイルを開くことができません?

using System.IO; 

namespace Test 
{ 
    internal class Program 
    { 
     public static void Main(string[] args) 
     { 
      File.Open("CON.DE.txt", FileMode.Create); 
     } 
    } 
} 

Visual Studioが例外をスローし、こう述べています。

のFileStreamは、このようなディスクパーティションと テープドライブなどのWin32デバイスを開くことができません。パスに "\。\"を使用しないでください。

これは.NET FrameworkまたはWin32のバグですか?これを回避する方法はありますか?

+3

'CON'は、' PRN'( 'copy readme.txt> PRN')と' COM'と同様に、Windowsのファイル名( 'copy CON'のように)の予約語です。私は、COMに続く文字の欠如がその状態を引き起こしていると思われる。 –

+5

[Windowsとフォルダの名前を変更、 'con'の問題](http://stackoverflow.com/questions/448438/windows-and-renaming-folders-the-con-issue) – Gusman

+1

[Windows予約の可能な複製回避策/ハック](http://stackoverflow.com/questions/39475219/windows-reserved-name-con-workaround-hack) –

答えて

2

CONは、Windowsで予約されているキーワードで、MS-DOSの時代を彷彿させるようです(ただし、この日までは残ります)。

「CON」と「DE」間の完全停止を別の文字(たとえばCON-DE.txtまたは同等のもの)に置き換えることが1つの解決策となります。

予約済みのMS-DOSデバイスドライバ名の一覧については、https://support.microsoft.com/en-gb/help/74496/ms-dos-device-driver-names-cannot-be-used-as-file-namesを参照してください。

+0

Windowsエクスプローラで再作成されました。 – David

関連する問題