listFiles() gibt null zurück, wenn es nicht sollte. Es verwendet, um richtig zu arbeiten, bis vor kurzem und noch nicht geändert wurde

public static void main(String[] args) throws InterruptedException {
    //TODO Auto-generated method stub
    while(true)
    {
        ArrayList<File> wallpapers = new ArrayList<File>();
        File dir = new File("C:/Windows/System32/oobe/info/backgrounds/");
        if(dir.listFiles() == null)
            System.out.println("Empty");
        for(File img : dir.listFiles())
        {
            if(img.getName().endsWith(".jpg") && img.getName() != "backgroundDefault.jpg")
                wallpapers.add(img);
        }
        File current = new File("C:/Windows/System32/oobe/info/backgrounds/backgroundDefault.jpg");
        int i = 1;
        for(File img : wallpapers)
        {
            File f = new File("C:/Windows/System32/oobe/info/backgrounds/"+ i++ +".jpg");
            current.renameTo(f);
            File file = new File("C:/Windows/System32/oobe/info/backgrounds/backgroundDefault.jpg");
            img.renameTo(file);
            Thread.sleep(60000);
        }

    }
}   }
}

Dieser code ändert das Hintergrundbild des Windows-Log-In-Bildschirm jede minute.
listFiles() gibt null zurück bei dir und ich bekomme eine NullPointerException(Datei img : dir.listFiles()). Ich dachte, es gibt möglicherweise ein problem mit dem Datei-Rechte, also habe ich versucht, die Datei zu ändern Pfad zu einem Verzeichnis habe ich auf meinem Desktop und es funktioniert gut. Also ich gehe davon aus, dass ich keinen Zugriff auf die system-Dateien, weil mein Programm nicht genug Rechte habe. Lassen Sie mich auch genau, dass dieser code funktioniert einwandfrei, bis vor kurzem. Es wurde noch nicht geändert. Ich habe gerade herausgefunden, dass mein Log-In Wallpaper ändert sich nicht mehr.
Auch wenn das Programm nicht funktioniert, konnte ich nicht ändern Sie den Dateinamen, wenn ich startete das Programm über Eclipse, aber ich würde exportieren Sie Sie als .jar und planen es mit der Aufgabenplanung mit höchsten Privilegien zu geben, die er admin-Rechte und es funktionierte ohne Probleme, bis vor kurzem. Ich habe auch versucht, das ignorieren der Fehler, die denken, Sie wären auf Rechte verknüpft und versucht zu starten, mein ausführbare jar-Datei mit höchsten Privilegien über den Task-Scheduler und auch über eine batch-Datei. Ich habe sogar versucht, starten Sie das Glas durch eine cmd-I öffnen mit Administrator-Rechten ohne Erfolg, er sagt immer noch NullPointerException in der cmd. Ich bin irgendwie verloren und wäre für jede Hilfe dankbar.

InformationsquelleAutor Ryuu | 2013-12-03

Schreibe einen Kommentar