Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。480件0単体テストを行っています。"帳票IDとファイル名の先頭10桁が一致するファイルがありません");}この場合の異常系でreportFormatIdに特殊文字(\n等のエスケープシーケンス)が入力された場合を検証しますがそもそもWindowsのファイル名をつける際に改行やタブ等が存在するのでしょうか?私個人的には存在しないと思っていて、存在しないのであればエスケープシーケンスの検証は必要ない(どちらにせよエラーになるのだから)と思っております。票1ファイルパスに制御文字はエラーとなりますが、引数のreportFormatIdに対して許可する文字列のチェックを行わない場合、以下の様な値も許可してしまうでしょう。../(対象フォルダの親フォルダにあるフォルダ名やファイル名)reportFormatIdに入ってくる値が、例えば「帳票IDに入力できる文字列以外は入力できない」とすでに制限されていれば問題はないのですが、これはディレクトリトラバーサルと類似する問題です。ファイルを探索する処理では、値のチェックは必要でしょう。|-1Windowsでも、改行やタブを含む名前のファイルは作れます。Cygwinでは、Unicodeの私用領域を使って制限を回避しているだけのようです。バイトまた、Windowsで作れなくても他のOSで作れる可能性もあります。昔、FATフォーマットのFDにUnixで"abc.TXT"と"ABC.TXT"のような大文字・小文字しか違わない名前のファイルを作って、Windowsではファイル一覧は表示できるけど片方しか開けないことを確認した記憶があります。すると同じような現象が確認できました。なっているようでした。14:56cmd.exeでの表示結果は見た目「・」に見えるのですが、Unicodeを編集できるテキストエディターに貼り付けるとU+F00AとU+F009になっているようです。どこ(dirの内部、cmd.exeの表示、エディターへの貼り付け等)で化けているのかわかりませんが。Javaでファイル名を読み込んだ時にどう変換されるのかも確認していません。16:01というか、cygwinやmingwがWindows環境で扱えない文字をそのように変換しているのだと思います。節にそのような記述がありました。回答に書かれたコードもVC++でコンパイルすると動作しませんし、WinAPIのCreateFileの場合はERROR_INVALID_NAMEになります。16:14Cygwinは私用領域を使って制限を回避しているのですか。APIでどう見えるかだけですね。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。後で自動的に消えてくれるもの0Windows7のスタートアップのレジストリについて1Windows上のrubyで中国語のファイルをrenameしたい。17Windowsでファイル名の末尾ドットが無視される挙動の由来1Windowsバッチのファイル移動で、同名ファイルが存在していた場合、上書きではなく連番付与したい1Windowsエクスプローラのプロパティ拡張について0eclipseにてMavenビルド実行時にエラーになる。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。