1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.commons.compress.archivers.memory;
20
21 import java.io.IOException;
22
23 import org.apache.commons.compress.archivers.ArchiveInputStream;
24
25
26
27
28 public final class MemoryArchiveInputStream extends ArchiveInputStream<MemoryArchiveEntry> {
29
30 private final String[] fileNames;
31 private final String[] content;
32 private int p;
33
34 public MemoryArchiveInputStream(final String[][] pFiles) {
35 final int pFilesLength = pFiles.length;
36 fileNames = new String[pFilesLength];
37 content = new String[pFilesLength];
38
39 for (int i = 0; i < pFilesLength; i++) {
40 final String[] nameAndContent = pFiles[i];
41 fileNames[i] = nameAndContent[0];
42 content[i] = nameAndContent[1];
43 }
44 p = 0;
45 }
46
47 @Override
48 public MemoryArchiveEntry getNextEntry() throws IOException {
49 if (p >= fileNames.length) {
50 return null;
51 }
52 return new MemoryArchiveEntry(fileNames[p]);
53 }
54
55 @Override
56 public int read() throws IOException {
57 return 0;
58 }
59
60 public String readString() {
61 return content[p++];
62 }
63
64 }