私はこれがおそらくここで何百万回も答えられたことを知っていますが、私が見たすべては私を助けませんでした。これが私のコードです:
for(File g: f.listFiles()){
for(File h : g.listFiles()){
try{
Scanner s = new Scanner(h);
String timestamp = s.next().split("[?]")[4];
File z = new File(h.getAbsolutePath().split("[.]")[0] + timestamp + h.getAbsolutePath().split("[.]")[1]);
boolean q = h.renameTo(z);
}catch(Exception e){
}
}
}
File zが存在するかどうかを確認しましたが、存在しません。ファイルhが存在するかどうかを確認しましたが、存在します。hが絶対パスであることを再確認しました。zの絶対パスを出力すると、正しいパスが得られます。fのディレクトリまたはgのファイルはどれも開いていません。hで示されたファイルは開いていません。Windowsがプログラムの名前変更を許可していないファイルにフラグが設定されている可能性がありますか?