- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
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);
}
}
} }
}
此代码每分钟更改一次 Windows 登录屏幕的背景图像。listFiles() 为 dir 返回 null,我在 for(File img : dir.listFiles()) 上得到 NullPointerException。我认为文件权限可能有问题,所以我尝试将文件路径更改为桌面上的目录,但它工作正常。所以我假设我无法访问系统文件,因为我的程序没有足够的权限。我还要明确指出,这段代码直到最近都可以正常工作。它没有被修改。我刚刚发现我的登录墙纸不再改变了。即使程序确实可以运行,当我通过 Eclipse 启动程序时我也无法修改文件名,但我会将其导出为 .jar 并使用具有最高权限的任务计划程序对其进行调度以授予其管理员权限并且它可以正常运行直到最近。我还尝试忽略错误,认为它们与访问权限有关,并尝试通过任务计划程序并使用批处理文件以最高权限启动我的可执行 jar。我什至尝试通过使用管理员权限打开的 cmd 启动 jar,但无济于事,它仍然在 cmd 中显示 NullPointerException。我有点迷路了,希望得到任何帮助。
最佳答案
在 Windows 7(及更高版本)上,该进程必须以提升的权限运行才能写入 C:/Windows
和类似的目录。但如果这是问题所在,则会导致出现不同的错误消息。
我怀疑:在 64 位 Windows 下运行 32 位 JVM 时 new File("C:/Windows/System32")
将指向 C:\Windows\SysWOW64
并且没有 info
-C:\Windows\SysWOW64\oobe
下的文件夹
作为测试:
public static void main(String[] args) {
File sysdir = new File("C:/Windows/System32/oobe/info");
for(File file:sysdir.listFiles()) {
System.out.println(file.getName());
}
}
在 64 位 JRE 上运行良好并抛出 NullPointerException
在 64 位 Windows 7 上的 32 位 JRE 下。
因此,也许您或其他应用程序最近安装了 32 位 jre 或更改了您的路径以指向 32 位 jre,从而破坏了您的应用程序。
关于java - listFiles() 在不应该返回 null 时返回。直到最近它都可以正常工作并且没有被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20347161/
当我尝试使用方法 someFile.listFiles(FileFilter foobar) 时,出现错误 The method listFiles(FilenameFilter) in the ty
我曾经从一本关于方法引用的书中读到以下代码。 File[] hiddenFiles = new File(".").listFiles(File::isHidden) 当我从文件 API 查找 lis
这个问题已经有答案了: Listing only files in directory [closed] (3 个回答) 已关闭 5 年前。 我注意到listFiles()方法返回文件和目录,但是我想
作为处理的结果,一些数据文件被写入磁盘。 两台服务器(MAC 和 Linux)匹配的文件数 系统间的文件名相同 文件内容在系统之间是相同的,由 md5sum 衡量 然后根据从所述文件中读取的内容计算报
我编写了以下程序,它读取目录中的所有文件。所有文件名均由数字组成(例如 10023134.txt)。 File dir = new File(directoryPath); File[] files
我正在尝试迭代文件夹 我的文件位于 D:\PROJECT_FOLDER\rootProject\semiRootProject\project\build\resources\main\com\xxx
我使用此代码以递归方式从给定目录获取所有文件。 List fileList = (List) FileUtils.listFiles(new File(directoryName), null , t
import java.io.File; public class FileDemo { public static void main(String[] args) { String sou
我的问题是,简而言之,如何将 File.listFiles() 返回的 File 对象转换为 File 的扩展类?我将返回的对象放入 ArrayList 中。我的第一个想法是将文件对象转换为我的类,F
private static void getFTPFileProperties(FTPClient client, String ftpLocation, String pa
似乎方法 listFiles() 也列出了所有目录并威胁所有结果作为目录。 最佳答案 File Java 中的对象可以表示文件或目录。可以通过isFile()查看是文件还是目录和 isDirector
在我的项目中,我有一个 resources 目录,里面有一个 my_directory。 my_directory 包含文本文件。 我想循环这个目录: URL resource = Resources
我想使用列表文件而不是手动设置对象集合: @Paramaters public static Collection data() { Object[][] data = new Object
所以,我有一个 ListView,它显示特定目录中所有文件的名称。此应用程序还会删除文件并将新文件添加到目录中。 我希望文件按创建顺序显示,但 File(directory).listFiles()
我正在使用 Android Emulator 2.2 版本开发一个小应用程序。我应该列出目录下的所有图像文件(jpg)文件。我通过 ADB puash 命令将文件复制到“/data”。 示例:/dat
有什么方法可以在已打包到 jar 中的目录上使用 listFiles() 吗? 假设我的资源目录中有一个包含一些文本文件的目录:texts/text1.txt 和 texts/text2.txt。 在
我是 hadoop 和其他东西的业余爱好者。现在,我正在尝试访问 hadoop 集群 (HDFS) 并从客户端 eclipse 检索文件列表。我在hadoop java client上设置好需要的配置
我在看这个方法:FileSystem.listFiles(Path f, boolean recursive) List the statuses and block locations of the
在一个文件夹中,我有三个文件 A.txt、B.txt、C.txt。我正在执行下面提到的程序。 for(File a: path.listFiles()){ Sy
File.listFiles() 方法列出文件夹的内容。然而,在 Windows 上,当您在根驱动器上调用该方法时,它还会产生一些 - 缺少更好的短语 - “虚拟”文件夹(如“文档和设置”,在最近的
我是一名优秀的程序员,十分优秀!