2015-03-12

http://anond.hatelabo.jp/20150312122358

マジレスすると、U+00a5なら使える。俺なら設計修正させるけど。

Path.GetInvalidFileNameChars メソッド (System.IO)

using System;
using System.IO;

namespace TestInvalidFileName
{
    class Program
    {
        static void Main(string[] args)
        {
            // Get a list of invalid file characters.
            char[] invalidFileChars = Path.GetInvalidFileNameChars();

            Console.WriteLine("The following characters are invalid in a filename:");
            ShowChars(invalidFileChars);
            Console.WriteLine();

            string fileName = '\u00a5' + "108";
            using (var fs = File.Create(fileName))
            {
                if (fs != null)
                {
                    Console.WriteLine("File was created:" + fileName);
                    fs.Close();
                }
                else {
                    Console.WriteLine("File was not created:" + fileName);
                }
            }
        }

        public static void ShowChars(char[] charArray)
        {
            Console.WriteLine("Char\tHex Value");
            // Display each invalid character to the console.
            Array.Sort(charArray);
            foreach (char someChar in charArray)
            {
                if (Char.IsWhiteSpace(someChar))
                {
                    Console.WriteLine(",\t{0:X4}", (int)someChar);
                }
                else
                {
                    Console.WriteLine("{0:c},\t{1:X4}", someChar, (int)someChar);
                }
            }

        }
    }
}
The following characters are invalid in a filename:
Char    Hex Value
(中略)
",      0022
**,      002A
/,      002F
:,      003A
>,      003C
>,      003E
?,      003F
\,      005C
|,      007C

File was created:\108
記事への反応 -
  • MSがUNIXと違うことしようとした結果がこれ

    「この計算結果をCSVファイルに出力する時に値段をファイル名に入れるってあるんですが、半角の¥マークはファイル名に入りませんよ」 「設計書はハンコもらっちゃったのでなんとか...

    • http://anond.hatelabo.jp/20150312122358

      マジレスすると、U+00a5なら使える。俺なら設計を修正させるけど。 Path.GetInvalidFileNameChars メソッド (System.IO) using System;using System.IO;namespace TestInvalidFileName{ class Program { static void Main(...

    • http://anond.hatelabo.jp/20150312122358

      バックスラッシュは無理かもしれないが、Unicodeの円記号は使えるんじゃないか? http://ja.wikipedia.org/wiki/%E5%86%86%E8%A8%98%E5%8F%B7#.E7.AC.A6.E5.8F.B7.E4.BD.8D.E7.BD.AE

    • http://anond.hatelabo.jp/20150312122358

      JPYじゃいかんのか?

    • http://anond.hatelabo.jp/20150312122358

      UNIXでも無理っぽいけど? ちなみにこれ読んで「設計書書いた糞馬鹿と、それにハンコ押す超糞馬鹿」と思ったよ。

      • http://anond.hatelabo.jp/20150313002912

        Unix(とUnixで使われる大抵のファイルシステム)ではU+005cはファイル名に使えるよ。いちいちエスケープしないとならない場合が増えて手間だけど。 あと大元の話だが、時系列としては(1)...

    • 似たようなこんな話あったな

      http://anond.hatelabo.jp/20150312122358 「電子帳票の内容をエクセルを自動で出力するってのはいいのですが、この項目を○で囲んだ数字にするって、20も30も数字があったら足りないですよ? あ...

    • 似たようなこんな話あったな

      http://anond.hatelabo.jp/20150312122358 「電子帳票の内容をエクセルを自動で出力するってのはいいのですが、この項目を○で囲んだ数字にするって、20も30も数字があったら足りないですよ? あ...

    • 似たようなこんな話あったな

      http://anond.hatelabo.jp/20150312122358 「電子帳票の内容をエクセルを自動で出力するってのはいいのですが、この項目を○で囲んだ数字にするって、20も30も数字があったら足りないですよ? あ...

記事への反応(ブックマークコメント)

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん