51

Android でファイル名に使用できる特殊文字は何ですか?

~!@#$%^&*()_+/\.,

また、ファイルをUnicode名で保存できますか?

4

8 に答える 8

39
  1. Android では (少なくともデフォルトでは) UTF-8 としてエンコードされたファイル名。

  2. 予約されたファイル名の文字は、マウントされているファイルシステム ( http://en.wikipedia.org/wiki/Filename ) によって異なるようです。

私は予約済みと見なしました:

private static final String ReservedChars = "|\\?*<\":>+[]/'";
于 2010-04-24T09:16:27.857 に答える
10

wikiによると、FAT32の外部データストレージを使用していると仮定しています。

ディレクトリ エントリで使用できる文字

それは

値 0 ~ 31、127 (DEL) を除く任意のバイトと: " * / : < > ? \ | + , . ; = [] (小文字の a ~ z は AZ として格納されます。VFAT LFN では、NUL を除くすべての Unicode

于 2012-11-21T21:02:13.433 に答える
7
final String[] ReservedChars = {"|", "\\", "?", "*", "<", "\"", ":", ">"};

for(String c :ReservedChars){
    System.out.println(dd.indexOf(c));
    dd.indexOf(c);
}
于 2011-12-07T13:29:42.300 に答える
6

これは、Android のファイル名の正しいInputFilterです。

    InputFilter filter = new InputFilter()
    {
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) 
        { 
            if (source.length() < 1) return null;
            char last = source.charAt(source.length() - 1);
            String reservedChars = "?:\"*|/\\<>";
            if(reservedChars.indexOf(last) > -1) return source.subSequence(0, source.length() - 1);
            return null;
        }  
    };
于 2015-02-14T14:17:29.343 に答える
2

Android 4.4.2のGalaxy Note 8でこれを簡単にテストしました。デフォルトのマイ ファイル アプリでは、次のような無効な文字がグレー表示されます。

? : " * | / \ < >

利用可能な他のすべての特殊文字をファイル名に入れ、保存しました。これは、Android のすべてのバージョンで一貫しているわけではないため、控えめにして、同様に意味のある文字に置き換えることをお勧めします。

于 2014-11-04T23:36:12.617 に答える