pub struct TextReader<R: Read> { /* private fields */ }Expand description
The TextReader struct is wrapper for BufReader to decode text codecs.
Implementations§
Source§impl<R: Read> TextReader<R>
impl<R: Read> TextReader<R>
Sourcepub fn new(
bufreader: R,
encoding: &dyn Encoding,
trap: DecoderTrap,
) -> TextReader<R>
pub fn new( bufreader: R, encoding: &dyn Encoding, trap: DecoderTrap, ) -> TextReader<R>
Creates a new TextReader with codec.
§Examples
extern crate textstream;
extern crate encoding;
use std::fs::File;
use encoding::label::encoding_from_whatwg_label;
use encoding::{DecoderTrap, Encoding};
use textstream::TextReader;
let mut f = File::open("shiftjis.txt")?;
let mut reader = TextReader::new(f, encoding_from_whatwg_label("shiftjis").unwrap(), DecoderTrap::Strict);Sourcepub fn from_bufreader(
bufreader: BufReader<R>,
encoding: &dyn Encoding,
trap: DecoderTrap,
) -> TextReader<R>
pub fn from_bufreader( bufreader: BufReader<R>, encoding: &dyn Encoding, trap: DecoderTrap, ) -> TextReader<R>
Creates a new TextReader from BufReader.
§Examples
extern crate textstream;
extern crate encoding;
use std::fs::File;
use std::io::BufReader;
use encoding::label::encoding_from_whatwg_label;
use encoding::{DecoderTrap, Encoding};
use textstream::TextReader;
let mut f = BufReader::new(File::open("shiftjis.txt")?);
let mut reader = TextReader::new(f, encoding_from_whatwg_label("shiftjis").unwrap(), DecoderTrap::Strict);Sourcepub fn get_bufreader(&self) -> &BufReader<R>
pub fn get_bufreader(&self) -> &BufReader<R>
Gets a reference to the underlying text reader. It is inadvisable to directly read from the underlying reader.
Sourcepub fn get_bufreader_mut(&mut self) -> &BufReader<R>
pub fn get_bufreader_mut(&mut self) -> &BufReader<R>
Gets a mutable reference to the underlying text reader. It is inadvisable to directly read from the underlying reader.
Sourcepub fn into_bufreader(self) -> BufReader<R>
pub fn into_bufreader(self) -> BufReader<R>
Unwraps this TextReader, returning the underlying reader.
Note that any leftover data in the internal chunk is lost.
Sourcepub fn get_decoder(&self) -> &dyn RawDecoder
pub fn get_decoder(&self) -> &dyn RawDecoder
Gets a reference to the underlying decoder.
Sourcepub fn get_decoder_mut(&mut self) -> &mut dyn RawDecoder
pub fn get_decoder_mut(&mut self) -> &mut dyn RawDecoder
Gets a mutable reference to the underlying decoder.
Sourcepub fn into_decoder(self) -> Box<dyn RawDecoder>
pub fn into_decoder(self) -> Box<dyn RawDecoder>
Unwraps this TextReader, returning the underlying decoder.
Sourcepub fn read_to_end(&mut self, buf: &mut String) -> Result<usize>
pub fn read_to_end(&mut self, buf: &mut String) -> Result<usize>
Read decoded text until file end, placing them into buf.
If successful, this function will return the total number of bytes read.
§Examples:
extern crate textstream;
extern crate encoding;
use std::fs::File;
use std::io::BufReader;
use textstream::TextReader;
use encoding::label::encoding_from_whatwg_label;
use encoding::{DecoderTrap, Encoding};
let mut f = BufReader::new(File::open("shiftjis.txt")?);
let mut reader = TextReader::new(f, encoding_from_whatwg_label("shiftjis").unwrap(), DecoderTrap::Strict);
let mut s = String::new();
reader.read_to_end(&mut s)?;Sourcepub fn read_line(&mut self, buf: &mut String) -> Result<usize>
pub fn read_line(&mut self, buf: &mut String) -> Result<usize>
Read decoded text until file end, placing them into buf.
If successful, this function will return the total number of bytes read.
§Examples:
extern crate textstream;
extern crate encoding;
use std::fs::File;
use std::io::BufReader;
use encoding::label::encoding_from_whatwg_label;
use encoding::{DecoderTrap, Encoding};
use textstream::TextReader;
let mut f = BufReader::new(File::open("shiftjis.txt")?);
let mut reader = TextReader::new(f, encoding_from_whatwg_label("shiftjis").unwrap(), DecoderTrap::Strict);
let mut s = String::new();
reader.read_line(&mut s)?;