2011-12-27 8 views
1

コーディング中に奇妙な問題が発生しました。 börsenzeitung_komplettという名前のファイルをprocessed_börsenzeitung_komplettにリネームする必要があります。GNU/LinuxでFile.renameTo()を使用してファイル名を変更できない

Java APIのcurrentFile.renameTo(newFile)を使用しています。Windowsシステムでは問題なく動作していますが、GNU/Linuxシステムではfalseを返しています。

+5

ソースファイルとコピー先ディレクトリの読み取り/書き込みのアクセス権を確認しましたか? – LazyCubicleMonkey

+0

Javaアプリケーションを実行するユーザーに、そのファイルの名前を変更する権限がないことがあります。 chmod 777 filenameを試してください。 – xuanyuanzhiyuan

+0

解決策がある場合は、私と共有してください。私は今同じ問題を抱えている。あなたはそれのために+1を持っています:) –

答えて

1

あなたは、出力ディレクトリの権限を確認する必要があります(とoptionalyそれがchmodを使用して変更)または宛先ファイルがすでに存在する場合は(私はあなたがどんなSecurityManagerを使用していないと仮定し)。 java.util.File Javadocとして

は言う:

この抽象パス名が示すファイルの名前を変更します。それは かもしれない名前変更操作を別のファイルシステムから ファイルを移動することはできないかもしれません、それはアトミックではないかもしれない、と:このメソッドの動作の

多くの側面は、本質的に プラットフォーム依存です宛先抽象パス名が のファイルがすでに存在する場合は成功しません。。 にリネーム操作が成功したことを確認するには、戻り値を常にチェックする必要があります。

Filesクラスは、 ファイルをプラットフォームに依存しない方法で移動または名前を変更するmoveメソッドを定義しています。

+0

ファイル 'börsenzeitung_komplett'のこの特殊文字の問題は、残りのすべてのファイルの名前が変更されています。私はLinuxシステムを使っていますが、これらの種類の文字をサポートするためにいくつかの設定をする必要がありますか? – dhroove

+0

このファイルの名前をGNU/Linux端末から変更できますか? –

関連する問題