2014-09-04 4 views
1

내 프로그램에는 프로그램 시작시 파일 내용을 읽어야한다는 요구 사항이 있습니다. 지금 파일은 생성자에로드됩니다. 파일이 약간 거대하고 I/O가 수행되므로 화면을 표시하는 데 약간의 시간이 걸립니다.File을 읽지 않도록 Java Preference API를 사용할 수 있습니까?

제 질문은 파일 I/O의 대체로서 Preference API를 사용할 수 있습니까? 콘텐츠는 자주 변경되지 않으므로 사용자가 요청하지 않는 한 I/O를 피하고 싶습니다. 환경 설정을하지 않으면 내용을 한 번로드하고 환경 설정이 비어 있지 않으면 파일이 아닌 환경 설정에서 내용을 가져옵니다.

의견을 공유하십시오.

+0

이 파일에는 어떤 내용이 있으며 "시작"이란 정확히 무엇을 의미합니까? – chrylis

답변

1

@ Zhedar 's pointPreferences이 잘 받아 들여집니다. 대신 SwingWorker을 사용하여 배경에 파일을로드하십시오 (here). publish()process()에 적절한 세분성을 지정하면 결과가 즉시 나타날 수 있습니다. GUI는 파일의 나머지가로드되는 동안 응답을 유지합니다.

1

성능이 중요 할 경우 차이가 없다고 말할 수 있습니다.
Preference은 디스크의 파일 일뿐입니다. 사실 UNIXMac OS X - 컴퓨터의 경우 XML - 파일에 저장되고 WindowsregistryPreference을 넣습니다. 여기서 잘못된 방향으로 보일 수 있습니다.
파일 크기가 커서입니까? 그런 다음 주 스레드에서로드하지 마십시오.
이를 달성하려면 다른 스레드에서 IO-Operations를 오래 실행하고 대신 로딩 화면이나 그와 비슷한 것을 표시하십시오. 사용하는 UI 기술에 대해 언급하지 않았기 때문에 구체적인 정보를 제공 할 수는 없습니다. 스윙을 사용하는 경우 SwingWorker 클래스를 살펴 보시기 바랍니다.

+0

나는 스윙을 사용하고 있으며 GUI는 실제로 OpenOffice Plugin의 일부이다. – Volatil3