これは実際に質問ではありませんが、私は説明が必要です。私はC://ドライブの下にディレクトリを作成しようとしていました。そう;ルートディレクトリ、奇妙な応答の下にファイルを作成する
try {
File f_paz = new File("c://Ekap_Pazarlik_xml" + file_currentDate + "//");
File parent_z = f_paz.getParentFile();
if (null != parent_z) {
parent_z.mkdirs();
}
if (!f_paz.exists()) {
f_paz.createNewFile();
}
} catch (IOException e2) {
// TODO Auto-generated catch block
e2.printStackTrace();
}
私はそれを試み、「アクセスが拒否されました」というエラーが表示されたので、Webですべてのソリューションを試しました。何も起こらなかった。
不思議なことに、私はそこに「スペース」を置くことにしました。
File f_paz = new File("c://Ekap_Pazarlik_xml" + file_currentDate + "// ");
here
"// "
の直後に、それが働いた。私はそのようなディレクトリを作成することができました。なぜそれがそれのように働いたのか分かりません。私にいくつかの説明を教えてください。ありがとう!
「C:/ Ekap_whatever /」は、ファイル名ではなくディレクトリ名です。最後にスペースを追加すると、そのファイルの名前は残りの部分がそのパスになるスペースです。 Windowsでは、空の名前のファイルを作成することはできません(静かに拒否するようですが)ので、そのディレクトリのみが表示されます。空白ではなく空白文字(たとえば 'x')を試してください。その名前のファイルがディレクトリに作成されています。 – Thomas
私はDİrectoryをファイルではなく作成しようとしました。なぜスペースなしで受け入れていないのですか?それの背後にある論理は何ですか?私はそれを受け入れる必要があるファイル(パス)へのパスを与えています。なぜ私は最後にスペースを入れる必要があるのですか? ?私はそれを処理することができるように少なくともコンパイラは私に適切なエラーを与える必要があります。アクセスが拒否されたのは、そのエラーにあまりにも奇妙です。 –
私は答えに私のコメントを入れ、いくつかの情報を追加します。 Sec。 – Thomas