2012-02-03 2 views
1

zip 또는 gzip 파일에 효율적으로 줄을 추가 할 수 있습니까?Java zip appline

나는 주식 시장 데이터를 파일 시스템에 직접 저장하고 있으며 매 5ms마다 업데이트되는 약 40 개의 파일이 있습니다.

가장 좋은 방법은 무엇입니까?

+0

Zip 파일에는 * lines * 대신 파일이 없습니다. –

+2

스택 오버플로에 오신 것을 환영합니다. 귀하의 질문에 세부적인 것이 없기 때문에 귀하를 도울 수 없을 것 같습니다. 지금까지 무엇을 시도 했습니까? 그 결과는 무엇입니까? http://stackoverflow.com/questions/how-to-ask –

+1

5 밀리 초마다 40 개의 파일을 포함하는 zip 파일을 업데이트 하시겠습니까?나는 무서워. –

답변

1

zip 파일이 아닌 데이터베이스를 사용하십시오.

+3

틱 데이터를 저장하는 데 플랫 파일을 사용하는 것이 좋습니다 –

0

zip 파일을 편집하는 작업이 완료되면 (너무 읽기 - 수정 - 닫기) 오버 헤드가 너무 많이 발생합니다. 나는 약간의 합리적인 속도 (즉 매 5 초 또는 그 이상)로 메모리의 변화를 축적하고 목표 파일을 수정하는 것이 더 낫다고 생각한다.

1
  1. 데이터베이스를 사용하는 것이 좋습니다.
  2. 일반 텍스트 파일을 실제로 사용하려면 파일 시스템에 파일을 직접 두십시오 (Linux를 사용하는 경우에는 적절한 파일 시스템을 선택하십시오).
  3. 일반 텍스트 파일을 사용하고 zip 파일에서 텍스트 파일을 넣어 아래 zip 파일 시스템을 검사 할 경우 :

java.nio.file.FileSystems :
http://docs.oracle.com/javase/7/docs/technotes/guides/io/fsp/zipfilesystemprovider.html

Java SE 7 릴리스에서 도입 된 zip 파일 시스템 제공자는 사용자 정의 파일 시스템 제공자의 구현입니다. zip 파일 시스템 제공자는 zip 또는 JAR 파일을 파일 시스템으로 취급하고 파일의 내용을 조작 할 수있는 기능을 제공합니다. zip 파일 시스템 제공자는 여러 파일 시스템, 즉 각 zip 또는 JAR 파일에 대해 하나의 파일 시스템을 작성합니다.

TrueZip
http://truezip.java.net/

TrueZIP입니다 가상 파일 시스템 그들은 단지 일반 디렉토리

것처럼 아카이브 파일에 대한 투명한 액세스를 제공합니다 (VFS)를위한 자바 기반의 플러그인 프레임 워크

기억 : 캐시에 메모리를 사용하고, 디스크 작업을 줄이며, 쓰기를 비 차단으로 만듭니다.

0

ZipOutputStream의 쓰기 메소드를 사용하여 지정된 오프셋에서 쓸 수 있습니다.

String filepath = new String("/tmp/updated.txt") 
FileOutputStream fout = new FileOutputStream("/tmp/example.zip"); 
ZipOutputStream zout = new ZipOutputStream(fout); 
byte[] file = IOUtils.toByteArray(mWriter.toString()); 
short yourOffset = 0; 

ZipEntry ze = new ZipEntry(filepath); 
try { 
    zout.putNextEntry(ze); 
    zout.write(file, yourOffset, file.length); 
    zout.closeEntry(); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 

당신은 당신이 다시 작성하고 오프셋 어디 라인에서 쓰기를 호출하여 우편 항목을 대체 할 수있는 아파치 평민 IOUtils (수입 org.apache.commons.io.IOUtils)를 사용하여 바이트 배열로 파일을 변환하는 경우 당신은 편집을 시작하고 싶습니다. 이 경우 0에서 file.length까지 전체 파일을 씁니다. ZipEntry를 드라이브의 업데이트 된 파일 경로로 생성하여 zip 파일을 바꿀 수 있습니다.

관련 문제