RxJava StringObservable
1
StringObservable
の紹介
RxJava
で
String
シーケンスを操作するのは難しいかもしれません。幸運にも
RxJavaString
は必要なユーティリティを全て提供してくれます。
この記事では、いくつかの役に立つ
String
演算子を含む
StringObservable
について説明します。したがって、始める前に、次のリンクを見てみることをお勧めします。リンク:/rx-java[ava]
2 Mavenのセットアップ
まず始めに、依存関係の中に
RxJavaString
を含めます。
<dependency>
<groupId>io.reactivex</groupId>
<artifactId>rxjava-string</artifactId>
<version>1.1.1</version>
</dependency>
rxjava
__- string
__の最新バージョンはhttps://search.maven.org/classic/#search%7Cgav%7C1%7Cg%3A%22io.reactivex%22%20AND%20a%3A%22rxjava-string%にあります22[メイヴン中央]。
3
StringObservable
-
StringObservable
は、符号化された
Strings
**
__.
__の潜在的に無限のシーケンスを表すための便利な演算子です。
演算子
from
は入力ストリームを読み込み、バイト配列の文字境界シーケンスを出力する
Observable
を作成します。
CC-BY
で使用されています。
from
演算子を使用して
InputStream
から直接
Observable
を作成できます。
TestSubscriber testSubscriber = new TestSubscriber();
ByteArrayInputStream is = new ByteArrayInputStream("Lorem ipsum loream, Lorem ipsum lore".getBytes());
Observable<byte[]> observableByteStream = StringObservable.from(is);
//emits 8 byte array items
observableByteStream.subscribe(testSubscriber);
4バイトから
Strings
への変換
さまざまな文字セットからの無限シーケンスのエンコード/デコードは、
decode
および
encode
演算子を使用して実行できます。
彼らの名前が示唆するように、これらは単にバイト配列または
Stringsのエンコードまたはデコードされたシーケンスを発する
Observable__を作成するでしょう。
バイト配列
Observable
をデコードする:
TestSubscriber testSubscriber = new TestSubscriber();
ByteArrayInputStream is = new ByteArrayInputStream(
"Lorem ipsum loream, Lorem ipsum lore".getBytes());
Observable<byte[]> byteArrayObservable = StringObservable.from(is);
Observable<String> stringObservable = StringObservable
.decode(byteArrayObservable, StandardCharsets.UTF__8);
//emits UTF-8 decoded strings,"Lorem ipsum loream, Lorem ipsum lore"
stringObservable.subscribe(testSubscriber);
5分割
文字列
StringObservable
には、
String
シーケンスを分割するための便利な演算子もいくつかあります。
Reactivex.io
によって
TestSubscriber testSubscriber = new TestSubscriber();
Observable<String> sourceObservable = Observable.just("Lorem ipsum loream,Lorem ipsum ", "lore");
Observable<String> splittedObservable = StringObservable.split(sourceObservable, ",");
//emits 2 strings "Lorem ipsum loream", "Lorem ipsum lore"
splittedObservable.subscribe(testSubscriber);
6. 文字列を結合する
前のセクションの演算子を補完するものとして
join
と
stringConcat
があります。これらは
String
Observable
からの項目を連結して、区切り文字を与えられた単一の文字列を出力します。
また、これらは出力を出す前にすべてのアイテムを消費することに注意してください。
Reactivex.io
によって
TestSubscriber testSubscriber = new TestSubscriber();
Observable<String> sourceObservable = Observable.just("Lorem ipsum loream", "Lorem ipsum lore");
Observable<String> joinedObservable = StringObservable.join(sourceObservable, ",");
//emits single string "Lorem ipsum loream,Lorem ipsum lore"
joinedObservable.subscribe(testSubscriber);
7. 結論
StringObservable
の簡単な紹介では、
RxJavaStringを使用した
String__操作のいくつかのユースケースを示しました。
このチュートリアルの例および
StringObservable
演算子の使用方法の他の例は、https://github.com/eugenp/tutorials/tree/master/rxjava[Githubに追加]で見つけることができます。