mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 09:49:19 +02:00
cosmetic changes
This commit is contained in:
parent
eb8539c9c6
commit
445617aef1
3 changed files with 76 additions and 76 deletions
2
TODO.1.5
2
TODO.1.5
|
@ -6,7 +6,7 @@ Amazon store: issues
|
|||
|
||||
1.5.6:
|
||||
|
||||
DELAYED something wrong with epubbud catalog
|
||||
* something wrong with epubbud catalog
|
||||
* duplicates: *.epub vs. *.epub:xxx.opf
|
||||
|
||||
1.5.*:
|
||||
|
|
|
@ -39,7 +39,7 @@ public class FileTypeCollection {
|
|||
addType(new SimpleFileType("PDF", "pdf", MimeType.TYPES_PDF));
|
||||
addType(new FileTypeDjVu());
|
||||
addType(new SimpleFileType("ZIP archive", "zip", Collections.singletonList(MimeType.APP_ZIP)));
|
||||
addType(new SimpleFileType("DOC", "doc", MimeType.TYPES_DOC));
|
||||
addType(new SimpleFileType("MS Word document", "doc", MimeType.TYPES_DOC));
|
||||
}
|
||||
|
||||
private void addType(FileType type) {
|
||||
|
|
|
@ -23,85 +23,85 @@ import java.io.IOException;
|
|||
import java.io.InputStream;
|
||||
|
||||
public class MergedInputStream extends InputStream {
|
||||
private final InputStream[] myStreams;
|
||||
private InputStream myCurrentStream;
|
||||
private int myCurrentStreamNumber;
|
||||
private final InputStream[] myStreams;
|
||||
private InputStream myCurrentStream;
|
||||
private int myCurrentStreamNumber;
|
||||
|
||||
public MergedInputStream(InputStream[] streams) throws IOException {
|
||||
myStreams = streams;
|
||||
myCurrentStream = streams[0];
|
||||
myCurrentStreamNumber = 0;
|
||||
}
|
||||
public MergedInputStream(InputStream[] streams) throws IOException {
|
||||
myStreams = streams;
|
||||
myCurrentStream = streams[0];
|
||||
myCurrentStreamNumber = 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
int readed = -1;
|
||||
boolean streamIsAvailable = true;
|
||||
while (readed == -1 && streamIsAvailable) {
|
||||
readed = myCurrentStream.read();
|
||||
if (readed == -1) {
|
||||
streamIsAvailable = nextStream();
|
||||
}
|
||||
}
|
||||
return readed;
|
||||
}
|
||||
@Override
|
||||
public int read() throws IOException {
|
||||
int readed = -1;
|
||||
boolean streamIsAvailable = true;
|
||||
while (readed == -1 && streamIsAvailable) {
|
||||
readed = myCurrentStream.read();
|
||||
if (readed == -1) {
|
||||
streamIsAvailable = nextStream();
|
||||
}
|
||||
}
|
||||
return readed;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int read(byte[] b, int off, int len) throws IOException {
|
||||
int bytesToRead = len;
|
||||
int bytesReaded = 0;
|
||||
boolean streamIsAvailable = true;
|
||||
while (bytesToRead > 0 && streamIsAvailable) {
|
||||
int readed = myCurrentStream.read(b, off, bytesToRead);
|
||||
if (readed != -1) {
|
||||
bytesToRead -= readed;
|
||||
off += readed;
|
||||
bytesReaded += readed;
|
||||
}
|
||||
if (bytesToRead != 0) {
|
||||
streamIsAvailable = nextStream();
|
||||
}
|
||||
}
|
||||
return bytesReaded == 0 ? -1 : bytesReaded;
|
||||
}
|
||||
@Override
|
||||
public int read(byte[] b, int off, int len) throws IOException {
|
||||
int bytesToRead = len;
|
||||
int bytesReaded = 0;
|
||||
boolean streamIsAvailable = true;
|
||||
while (bytesToRead > 0 && streamIsAvailable) {
|
||||
int readed = myCurrentStream.read(b, off, bytesToRead);
|
||||
if (readed != -1) {
|
||||
bytesToRead -= readed;
|
||||
off += readed;
|
||||
bytesReaded += readed;
|
||||
}
|
||||
if (bytesToRead != 0) {
|
||||
streamIsAvailable = nextStream();
|
||||
}
|
||||
}
|
||||
return bytesReaded == 0 ? -1 : bytesReaded;
|
||||
}
|
||||
|
||||
@Override
|
||||
public long skip(long n) throws IOException {
|
||||
long skipped = myCurrentStream.skip(n);
|
||||
boolean streamIsAvailable = true;
|
||||
while (skipped < n && streamIsAvailable) {
|
||||
streamIsAvailable = nextStream();
|
||||
if (streamIsAvailable) {
|
||||
skipped += myCurrentStream.skip(n - skipped);
|
||||
}
|
||||
}
|
||||
return skipped;
|
||||
}
|
||||
@Override
|
||||
public long skip(long n) throws IOException {
|
||||
long skipped = myCurrentStream.skip(n);
|
||||
boolean streamIsAvailable = true;
|
||||
while (skipped < n && streamIsAvailable) {
|
||||
streamIsAvailable = nextStream();
|
||||
if (streamIsAvailable) {
|
||||
skipped += myCurrentStream.skip(n - skipped);
|
||||
}
|
||||
}
|
||||
return skipped;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int available() throws IOException {
|
||||
int total = 0;
|
||||
for (int i = myCurrentStreamNumber; i < myStreams.length; ++i) {
|
||||
total += myStreams[i].available();
|
||||
}
|
||||
return total;
|
||||
}
|
||||
@Override
|
||||
public int available() throws IOException {
|
||||
int total = 0;
|
||||
for (int i = myCurrentStreamNumber; i < myStreams.length; ++i) {
|
||||
total += myStreams[i].available();
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() throws IOException {
|
||||
myCurrentStream = myStreams[0];
|
||||
myCurrentStreamNumber = 0;
|
||||
for (InputStream stream : myStreams) {
|
||||
stream.reset();
|
||||
}
|
||||
}
|
||||
@Override
|
||||
public void reset() throws IOException {
|
||||
myCurrentStream = myStreams[0];
|
||||
myCurrentStreamNumber = 0;
|
||||
for (InputStream stream : myStreams) {
|
||||
stream.reset();
|
||||
}
|
||||
}
|
||||
|
||||
private boolean nextStream() {
|
||||
if (myCurrentStreamNumber + 1 >= myStreams.length) {
|
||||
return false;
|
||||
}
|
||||
++myCurrentStreamNumber;
|
||||
myCurrentStream = myStreams[myCurrentStreamNumber];
|
||||
return true;
|
||||
}
|
||||
private boolean nextStream() {
|
||||
if (myCurrentStreamNumber + 1 >= myStreams.length) {
|
||||
return false;
|
||||
}
|
||||
++myCurrentStreamNumber;
|
||||
myCurrentStream = myStreams[myCurrentStreamNumber];
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue