MultiReaderTest.java 文件源码

java
阅读 20 收藏 0 点赞 0 评论 0

项目:guava 作者:
public void testOnlyOneOpen() throws Exception {
  String testString = "abcdefgh";
  final CharSource source = newCharSource(testString);
  final int[] counter = new int[1];
  CharSource reader =
      new CharSource() {
        @Override
        public Reader openStream() throws IOException {
          if (counter[0]++ != 0) {
            throw new IllegalStateException("More than one source open");
          }
          return new FilterReader(source.openStream()) {
            @Override
            public void close() throws IOException {
              super.close();
              counter[0]--;
            }
          };
        }
      };
  Reader joinedReader = CharSource.concat(reader, reader, reader).openStream();
  String result = CharStreams.toString(joinedReader);
  assertEquals(testString.length() * 3, result.length());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号