我看到这个问题被标记为已经回复的副本:它不是。
我知道如何读取错误,我知道nullPointerException是什么。在这种情况下,我根本不知道如何修复它。
我正在开发一个加密用户所有文件的项目
这种方式很容易逆转。我的程序工作正常,因为我指定了从哪里查找文件的目录:C:\\Users\\Bram
我很想这样做:System.getProperty("user.dir")
我得到一个NullPointerException。
这是我的代码:
public static void main(String args[]){
String key = "Alle Duitsers!!!";
File inputFile = null;
File encryptedFile = null;
ArrayList<File> toEncrypt = new ArrayList<File>();
String home = System.getProperty("user.home");
listf(home, toEncrypt);
for(File temp : toEncrypt){
inputFile = temp.getAbsoluteFile();
encryptedFile = new File(temp.getAbsolutePath());
try {
// CryptoUtils.encrypt(key, inputFile, encryptedFile);
} catch (Exception ex) {
System.out.println(ex.getMessage());
ex.printStackTrace();
}
}
}
public static void listf(String directoryName, ArrayList<File> files) {
File directory = new File(directoryName);
File[] fList = directory.listFiles();
for (File file : fList) {
if (file.isFile()) {
files.add(file);
} else if (file.isDirectory()) {
listf(file.getAbsolutePath(), files);
}
}
}
这是错误:
Exception in thread "main" java.lang.NullPointerException
at main.Main.listf(Main.java:41)
at main.Main.listf(Main.java:45)
at main.Main.listf(Main.java:45)
at main.Main.listf(Main.java:45)
at main.Main.main(Main.java:19)