1

作業中のパネルに問題があります。ソフトウェアのあるバージョンから別のバージョンにアップグレードするたびに、Windows マシンの古いスタート メニュー グループが表示されます。最初に古いディレクトリを削除してから新しいディレクトリを作成できるかどうかを確認しようとしましたが、古いディレクトリがまだ残っているだけです。どうすればいいのかよくわかりませんが、必要なのはスタートメニューグループの1つのディレクトリだけで、天気を表示するために古いものを削除または名前を変更します。

古いシステム変数を削除するためにこれまでに持っているものは次のとおりです。これは私が取り組んでいるものであり、完璧ではないことはわかっていますが、助けていただければ幸いです。説明が必要な場合は、喜んで対応します。ありがとうございました

 if ( PrioGlobals.UPGRADE ){
        oldm_txtGrpName.setText(PrioGlobals.StartMenuFolder);
    }

if ( PrioGlobals.UPGRADE ){   
           String oldShortCutPath = PrioGlobals.cre.getShorcutDirectory();
           String oldStartMenuGroupFolderPath = oldShortCutPath + File.separator + BrandStrings.WIN_FOLDER_NAME + 
        File.separator +oldm_txtGrpName.getText(); 

           File oldStartmenu = new File(oldStartMenuGroupFolderPath);
           if (oldStartmenu.exists())
           {
               oldStartmenu.delete();
           }
           else
               oldStartmenu.delete();
           }        
4

1 に答える 1

2

私があなたのコードを正しく読んでいるならoldStartmenu、ディレクトリですか?その場合、oldStartmenu.delete()ディレクトリが空ではないために失敗する可能性があります(ファイルの削除を参照)。この場合、ディレクトリとそのすべてのファイルを再帰的に削除する必要があります。

その時点で、commons-io FileUtilsを含め、 forceDeletedeleteDirectoryなどのディレクトリユーティリティの1つを使用することをお勧めします。

[アップデート]

commons-ioライブラリをプロジェクトに追加したら、次のようになります。

// import FileUtils
import org.apache.commons.io.FileUtils;

// ...

if (oldStartmenu.exists())
{
    FileUtils.deleteDirectory(oldStartmenu);
}
于 2012-10-31T20:32:20.583 に答える