2009-07-07 6 views
2

정말 초보자 질문인데 죄송하지만 몇 년 후에 Java로 일한 적이 없습니다.파일이나 파일 경로를 Java 응용 프로그램에 저장하려면 어떻게합니까?

내 응용 프로그램에서는 파일 목록 (대부분이 아니라면 모두 txt 파일)을 따라야합니다. 이 목록에 추가하고 목록에서 파일 경로를 제거한 다음 파일의 내용을 읽을 수 있어야합니다 (파일이 처음 목록에 추가 될 때가 아님).

이 파일 목록을 저장하는 데 사용할 수있는 최상의 데이터 구조는 무엇입니까? 파일에 대한 경로를 String으로 저장하는 것이 표준인가, 아니면 더 좋은 방법이 있습니까?

대단히 감사합니다.

답변

3

예, 경로는 보통 String 또는 File 인스턴스로 저장됩니다. 목록은 ArrayList 인스턴스로 저장할 수 있습니다.

+1

예. Java 애플리케이션 내에서 파일을 나타내는 객체를 처리하려는 경우, 가장 자연스러운 방법은 Collection에 File 인스턴스를 묶는 것입니다. – Jonik

+5

File 객체에 투표합니다. 그들은 실제로 파일을 열거 나 만들지 않고, 단지 그들을 대표하고, 존재 여부를 확인하거나 디렉토리의 파일을 열거하는 등의 일을하는 도우미 메서드를 제공합니다. –

+1

Jonik과 Jason S.에 동의합니다. String over File을 사용합니다. File 객체의 추가 기능은 오버 헤드를 가중시킵니다. –

0

한 가지 방법은 Properties 클래스를 사용하는 것입니다. 그것은 파일에 읽기 및 쓰기를위한로드 및 저장 메소드를 가지고 있지만 수행중인 작업과 일치하지 않을 수 있습니다.

+0

나는 Java app에서 파일에 대한 포인터를 유지하고 관리하는 것에 관한 질문 만 해석했다. 포인터 나 다른 것을 지속하지 말아야한다. – Jonik

+0

아, 알겠지만, 경로를 유지할 필요가 없다면 간단한 ArrayList String 또는 File 객체가 더 좋습니다. – rado

0

귀하의 질문을 완전히 이해했는지 확실하지 않습니다. 하지만 파일을 File 오브젝트로 Java에 저장하고 싶습니다. 각 파일에 동일한 작업을 적용하면 목록에 저장할 수 있습니다. 하지만 아마도 질문을 조금 분명히해야합니다.

1

은 정말 당신의 요구 사항에 따라 달라집니다

  • 찾는 경우 파일 및/또는 플랫 디렉토리 구조
  • 수가 적은 경우 Collection를 구현하는 것을 사용하여 파일 이름/경로를 저장할 수 있습니다 파일은 성능이 중요합니다. 메모리 공간이 문제가되고 (예 : 휴대 기기에서) 파일 수가 많고 디렉토리 구조가 깊은 경우 HashSet
  • 과 같은 빠른 검색을 제공하는 데이터 구조를 사용해야합니다 데이터 구조가 허용하는 경우가 추가 오버 헤드가없고 File 분명히 편리한 파일 처리 방법을 제공하기 때문에 hould 내가 File들보다는 그러나 String의를 저장하는 것하는 trie

처럼 컴팩트하게 수납 할 수있는 데이터 구조를 사용 .

+0

Collection API 링크가 http://java.sun.com/javase/6/docs/api/java/util/Collection.html을 가리켜 야합니까? – Jonik

+0

옙, 내 잘못, 고마워. –

0

원하는 Collection 인터페이스를 사용하여 파일 객체 세트를 저장하는 것이 좋습니다. 이렇게하는 이유는 파일 개체가 장치 독립적 인 파일에 대한 표준 참조를 작성하기 때문입니다.

나는이 핸들을 열었을 때 핸들이 열려 있지 않다고 생각하지만 수정을 요청합니다.

http://java.sun.com/javase/6/docs/api/java/io/File.html

관련 문제