현재 프로젝트를 만들고 있는데, 텍스트 파일을 사용하는 사용자 이름과 패스워드 시스템이 있습니다. 시도하고 내 프로젝트를 조직 유지, 그들은 같은 netbeans 폴더 내에 있습니다. 그러나 거기에있는 파일은 src\classes\prototype1\textFiles
이지만 사용자를 추가 할 때 편집중인 파일은 build\classes\prototype1\textFiles
입니다. 이것은 netbeans를 다시 시작할 때마다 src
폴더에있는 원본 데이터에만 적용되고 build
폴더에는 편집 된 데이터가 저장되지 않습니다.자바 소스 파일 편집
내가 사용하는 코드는 다음과 같습니다
try {
File f = new File(getClass().getResource("textFiles\\PasswordScreen.txt").toURI());
f.setWritable(true);
FileWriter w = new FileWriter(f);
BufferedWriter writer = new BufferedWriter(w);
wipeFile(f);
for (int i = 0; i <= length; i++){
writer.write(user[i].getUsername());
writer.newLine();
writer.write(user[i].getPassword());
writer.newLine();
writer.write(Integer.toString(user[i].getState()));
writer.newLine();
writer.write("-");
writer.newLine();
}
writer.close();
f.setReadOnly();
} catch(Exception e){System.out.println("error writing to file");}
'src /'에있는 것은 순수하게 컴파일 할 자바 코드입니다. 리소스 파일을 여기에두면 안됩니다. –
왜'build' 폴더에있는 파일을 편집하고 있습니까? .jar 파일에 코드를 배포하면 해당 파일은 하드 드라이브의 파일이 아니어도됩니다. 수정하는 파일은 앱 코드 계층 외부에 * 있어야합니다. – Andreas
리소스는 읽기 전용으로 간주되어야합니다. 응용 프로그램은 일반적으로 .jar 파일로 제공됩니다.이 경우 별도의 파일이 아니기 때문에 리소스에 쓸 수 없습니다. (또한'getResource'는 모든 플랫폼에서 파일 분리 자로 슬래시 ('/')를 사용하며, 인수는 본질적으로 상대 URL입니다.) – VGR