これが初歩的な質問のように思われる場合は申し訳ありませんが、私はそれに答えを見つけることができなかったようです。
Windowsで正常に動作するJavaコードがいくつかあります。その中に、次のような1行があります。
File dir = new File("F:\\some\\files\\here");
Linuxのリモートサーバーでこのコードを実行していますが、問題が発生している場合を除きます。ドライブ名がわからないので、行を次のように変更しました(Linuxではこれは重要ではないと思いますか?):
File dir = new File("\\some\\files\\here");
この行にはエラーはありませんが、後で電話します
File[] data = dir.listFiles();
私のWindowsコードではこれは正常に機能しますが、Linuxではnullオブジェクトを返します。もう少し調べてみたところ、元のコードではLinuxのディレクトリが戻らないようです。
dir.isDirectory()
false
Linuxコードを返します。
誰もが問題になる可能性があることを知っていますか?\の代わりに/を使用してみましたが、同じ問題が発生します。
いくつかの追加情報:
listFiles()またはlist()を除いて、dirfineのメソッドの任意の部分にアクセスできます。私が試したことの1つは、dir.getParent()。listFiles()[0]を実行することです。getParent()は、何があってもディレクトリを取得する必要がありますが、listFiles()を呼び出すと、nullオブジェクトが返され、getParent()の結果はディレクトリではなくファイルであることがわかります。