Pārlūkot izejas kodu

Fix Android fs.readStream bug when reading UTF8 format data

Ben Hsieh 7 gadus atpakaļ
vecāks
revīzija
d67d79e45e

+ 2
- 2
src/android/src/main/java/com/RNFetchBlob/RNFetchBlobFS.java Parādīt failu

248
                 CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
248
                 CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder();
249
                 while ((cursor = fs.read(buffer)) != -1) {
249
                 while ((cursor = fs.read(buffer)) != -1) {
250
                     encoder.encode(ByteBuffer.wrap(buffer).asCharBuffer());
250
                     encoder.encode(ByteBuffer.wrap(buffer).asCharBuffer());
251
-                    // if the data contains invalid characters the following lines will be
252
-                    // skipped.
253
                     String chunk = new String(buffer);
251
                     String chunk = new String(buffer);
252
+                    if(cursor != bufferSize)
253
+                        chunk = chunk.substring(0, cursor);
254
                     emitStreamEvent(streamId, "data", chunk);
254
                     emitStreamEvent(streamId, "data", chunk);
255
                     if(tick > 0)
255
                     if(tick > 0)
256
                         SystemClock.sleep(tick);
256
                         SystemClock.sleep(tick);