내 프로그램 파일을 읽거나 쓰려고 할 때마다, 나는 다음과 같은 메시지가 얻을이 있었다 내가 인터넷에이 고개를읽기/쓰기 FileNotFoundException이 (액세스가 거부되었습니다)
[System]: LoadConfig >> Config file is missing or corrupt!
C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
, 모두를 문제는 단순히 디렉토리를 읽으려고하는 것이 었습니다. 파일을 쓰는 것과 같은 방법이었습니다. 나는 모든 것을 두 번 확인했지만, 계속해서 throw
과 exception
을 계속합니다. 관리자 권한으로 프로그램을 실행하려고 시도했지만 아무 것도하지 않았습니다./
내 코드를 보면 모든 것을 기록하고 있습니다. 내 기록 사본을 제공 할 것입니다.
이 내 독서 방법은 :
public static ArrayList<String> readConfig(){
ArrayList<String> list = new ArrayList<String>();
try {
Scanner sc = new Scanner(searchForConfig(baseDir));
//searchForConfig(baseDir) always will return a file.
while(sc.hasNextLine()){
list.add(sc.nextLine());
}
sc.close();
return list;
} catch (FileNotFoundException e) {
Logger.addElement("[System]: LoadConfig >> Config file is missing or corrupt!");
Logger.addElement(e.getMessage());
}
list.add("Nothing");
return list;
}
내 쓰기 방법은 다음
public static boolean createNewFile(String Name, String Path, ArrayList<String> Content, boolean override){
File file2 = new File(Path + dash + Name);
if(override == false & file2.exists()){
Name += "1";
}else{
if(override == true & file2.exists()){
file2.delete();
}
}
if(!(Name.indexOf(".") > 0)){
Name += ".cardinal";
}
File file = new File(Path);
if(!file.isDirectory() | !file.exists()){
Logger.addElement("[FileWriter]: NewFile >> New file path is invalid.");
Logger.addElement("[FileWriter]: NewFile >> Creating dirs at path.");
file.mkdirs();
}
try {
PrintWriter pw = new PrintWriter(Path + dash + Name, "UTF-8");
for(int i = 0; i < Content.size(); i++){
pw.println(Content.get(i));
}
Logger.addElement("[FileWriter]: NewFile >> Creating file " + Name + " at " + Path + dash);
pw.close();
return true;
} catch (FileNotFoundException e) {
Logger.addElement("[FileWriter]: NewFile >> FileNotFoundException.");
Logger.addElement(e.getMessage());
return false;
} catch (UnsupportedEncodingException e) {
Logger.addElement("[FileWriter]: NewFile >> UnsupportedEncodingException.");
Logger.addElement(e.getMessage());
return false;
}
}
업데이트 : stacktraces
을 기록하는 내 로거를 변경 등을 가지고 정보. 그것은 조금 긴하지만 모든이있다 :
[System]: Config >> Searching for config in base directory...
[System]: LoadConfig >> Config file is missing or corrupt!
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at com.orlow.base.FileSystem.Config.LoadConfig.readConfig(LoadConfig.java:21)
at com.orlow.base.FileSystem.Config.Config.<clinit>(Config.java:9)
at com.orlow.base.Init.Init.preInit(Init.java:20)
at com.orlow.base.Main.main(Main.java:10)
[System]: Config >> Searching for config in base directory...
[System]: LoadConfig >> Config file is missing or corrupt!
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at com.orlow.base.FileSystem.Config.LoadConfig.readConfig(LoadConfig.java:21)
at com.orlow.base.FileSystem.Config.Config.checkConfig(Config.java:13)
at com.orlow.base.Init.Init.preInit(Init.java:20)
at com.orlow.base.Main.main(Main.java:10)
[preInit]: Logger >> Starting logger...
[preInit]: Tests >> Testing config...
[System]: Config >> Searching for config in base directory...
[System]: LoadConfig >> Config file is missing or corrupt!
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at com.orlow.base.FileSystem.Config.LoadConfig.readConfig(LoadConfig.java:21)
at com.orlow.base.Init.Init.preTests(Init.java:62)
at com.orlow.base.Init.Init.preInit(Init.java:22)
at com.orlow.base.Main.main(Main.java:10)
[preInit]: Config >> Config file is corrupt.
[System]: SaveConfig >> Replacing Config file...
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at com.orlow.base.FileSystem.DataStorage.Files.createNewFile(Files.java:98)
at com.orlow.base.FileSystem.Config.SaveConfig.replaceCorruptConfig(SaveConfig.java:26)
at com.orlow.base.FileSystem.Config.Config.getConfigMode(Config.java:32)
at com.orlow.base.FileSystem.Config.Config.getBuildPath(Config.java:77)
at com.orlow.base.Init.Init.preTests(Init.java:68)
at com.orlow.base.Init.Init.preInit(Init.java:22)
at com.orlow.base.Main.main(Main.java:10)
[preInit]: Config >> Config file is corrupt.
[System]: SaveConfig >> Replacing Config file...
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at com.orlow.base.FileSystem.DataStorage.Files.createNewFile(Files.java:98)
at com.orlow.base.FileSystem.Config.SaveConfig.replaceCorruptConfig(SaveConfig.java:26)
at com.orlow.base.FileSystem.Config.Config.getConfigMode(Config.java:32)
at com.orlow.base.Init.Init.preTests(Init.java:74)
at com.orlow.base.Init.Init.preInit(Init.java:22)
at com.orlow.base.Main.main(Main.java:10)
[preInit]: Config >> Config file is corrupt.
[System]: SaveConfig >> Replacing Config file...
java.io.FileNotFoundException: C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Run.config (Access is denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at java.io.PrintWriter.<init>(Unknown Source)
at com.orlow.base.FileSystem.DataStorage.Files.createNewFile(Files.java:98)
at com.orlow.base.FileSystem.Config.SaveConfig.replaceCorruptConfig(SaveConfig.java:26)
at com.orlow.base.FileSystem.Config.Config.getConfigMode(Config.java:32)
at com.orlow.base.FileSystem.Config.Config.getLogPath(Config.java:126)
at com.orlow.base.Init.Init.preTests(Init.java:80)
at com.orlow.base.Init.Init.preInit(Init.java:22)
at com.orlow.base.Main.main(Main.java:10)
[preInit]: Config >> Log path is set to C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Logs
[preInit]: Tests >> Config >> Config test was successful.
[preInit] Tests >> Testing file writer...
[FileWriter]: NewFile >> Creating file firstTestFile.cardinal at C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Data\
[FileWriter]: NewFile >> Creating file secondTextFile.cardinal at C:\Users\Cardinal System\AppData\Roaming\OrlowBase\Data\
[FileWriter]: NewFile >> Creating file thirdTestFile.cardinal at C:\Users\Cardinal System\Desktop\Peter\Programming\Java\Eclipse\Workspaces\Main Workspace\TestSkills\
[FileWriter]: NewFile >> Creating file forthTestFile.cardinal at C:\Users\Cardinal System\Desktop\Peter\Programming\Java\Eclipse\Workspaces\Main Workspace\TestSkills\
[preInit] Tests >> File writer test was successful.
[Init]: Console >> Rendering console GUI...
[System]: Console >> Type "?" for help.
'및'에'&&'와'변경 |'에'||' –
와'변경하는 경우 (file.isDirectory() |!! file.exists()) {'에' if (! file.isDirectory() &&! file.exists()) {' –
다른 말로하면 코드 –