亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? indexinput.cs

?? 介紹有關全文檢索的類庫,以lucene為例,在.net環境下實現多種類型文檔的全文檢索.
?? CS
字號:
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

using System;

namespace Lucene.Net.Store
{
	
	/// <summary>Abstract base class for input from a file in a {@link Directory}.  A
	/// random-access input stream.  Used for all Lucene index input operations.
	/// </summary>
	/// <seealso cref="Directory">
	/// </seealso>
	public abstract class IndexInput : System.ICloneable
	{
		private char[] chars; // used by readString()
		
		/// <summary>Reads and returns a single byte.</summary>
		/// <seealso cref="IndexOutput.WriteByte(byte)">
		/// </seealso>
		public abstract byte ReadByte();
		
		/// <summary>Reads a specified number of bytes into an array at the specified offset.</summary>
		/// <param name="b">the array to read bytes into
		/// </param>
		/// <param name="offset">the offset in the array to start storing bytes
		/// </param>
		/// <param name="len">the number of bytes to read
		/// </param>
		/// <seealso cref="IndexOutput.WriteBytes(byte[],int)">
		/// </seealso>
		public abstract void  ReadBytes(byte[] b, int offset, int len);
		
		/// <summary>Reads four bytes and returns an int.</summary>
		/// <seealso cref="IndexOutput.WriteInt(int)">
		/// </seealso>
		public virtual int ReadInt()
		{
			return ((ReadByte() & 0xFF) << 24) | ((ReadByte() & 0xFF) << 16) | ((ReadByte() & 0xFF) << 8) | (ReadByte() & 0xFF);
		}
		
		/// <summary>Reads an int stored in variable-length format.  Reads between one and
		/// five bytes.  Smaller values take fewer bytes.  Negative numbers are not
		/// supported.
		/// </summary>
		/// <seealso cref="IndexOutput.WriteVInt(int)">
		/// </seealso>
		public virtual int ReadVInt()
		{
			byte b = ReadByte();
			int i = b & 0x7F;
			for (int shift = 7; (b & 0x80) != 0; shift += 7)
			{
				b = ReadByte();
				i |= (b & 0x7F) << shift;
			}
			return i;
		}
		
		/// <summary>Reads eight bytes and returns a long.</summary>
		/// <seealso cref="IndexOutput#WriteLong(long)">
		/// </seealso>
		public virtual long ReadLong()
		{
			return (((long) ReadInt()) << 32) | (ReadInt() & 0xFFFFFFFFL);
		}
		
		/// <summary>Reads a long stored in variable-length format.  Reads between one and
		/// nine bytes.  Smaller values take fewer bytes.  Negative numbers are not
		/// supported. 
		/// </summary>
		public virtual long ReadVLong()
		{
			byte b = ReadByte();
			long i = b & 0x7F;
			for (int shift = 7; (b & 0x80) != 0; shift += 7)
			{
				b = ReadByte();
				i |= (b & 0x7FL) << shift;
			}
			return i;
		}
		
		/// <summary>Reads a string.</summary>
		/// <seealso cref="IndexOutput.WriteString(String)">
		/// </seealso>
		public virtual System.String ReadString()
		{
			int length = ReadVInt();
			if (chars == null || length > chars.Length)
				chars = new char[length];
			ReadChars(chars, 0, length);
			return new System.String(chars, 0, length);
		}
		
		/// <summary>Reads UTF-8 encoded characters into an array.</summary>
		/// <param name="buffer">the array to read characters into
		/// </param>
		/// <param name="start">the offset in the array to start storing characters
		/// </param>
		/// <param name="length">the number of characters to read
		/// </param>
		/// <seealso cref="IndexOutput.WriteChars(String,int,int)">
		/// </seealso>
		public virtual void  ReadChars(char[] buffer, int start, int length)
		{
			int end = start + length;
			for (int i = start; i < end; i++)
			{
				byte b = ReadByte();
				if ((b & 0x80) == 0)
					buffer[i] = (char) (b & 0x7F);
				else if ((b & 0xE0) != 0xE0)
				{
					buffer[i] = (char) (((b & 0x1F) << 6) | (ReadByte() & 0x3F));
				}
				else
					buffer[i] = (char) (((b & 0x0F) << 12) | ((ReadByte() & 0x3F) << 6) | (ReadByte() & 0x3F));
			}
		}
		
		/// <summary> Expert
		/// 
		/// Similar to {@link #ReadChars(char[], int, int)} but does not do any conversion operations on the bytes it is reading in.  It still
		/// has to invoke {@link #ReadByte()} just as {@link #ReadChars(char[], int, int)} does, but it does not need a buffer to store anything
		/// and it does not have to do any of the bitwise operations, since we don't actually care what is in the byte except to determine
		/// how many more bytes to read
		/// </summary>
		/// <param name="length">The number of chars to read
		/// </param>
		public virtual void  SkipChars(int length)
		{
			for (int i = 0; i < length; i++)
			{
				byte b = ReadByte();
				if ((b & 0x80) == 0)
				{
					//do nothing, we only need one byte
				}
				else if ((b & 0xE0) != 0xE0)
				{
					ReadByte(); //read an additional byte
				}
				else
				{
					//read two additional bytes.
					ReadByte();
					ReadByte();
				}
			}
		}
		
		
		/// <summary>Closes the stream to futher operations. </summary>
		public abstract void  Close();
		
		/// <summary>Returns the current position in this file, where the next read will
		/// occur.
		/// </summary>
		/// <seealso cref="Seek(long)">
		/// </seealso>
		public abstract long GetFilePointer();
		
		/// <summary>Sets current position in this file, where the next read will occur.</summary>
		/// <seealso cref="GetFilePointer()">
		/// </seealso>
		public abstract void  Seek(long pos);
		
		/// <summary>The number of bytes in the file. </summary>
		public abstract long Length();
		
		/// <summary>Returns a clone of this stream.
		/// 
		/// <p>Clones of a stream access the same data, and are positioned at the same
		/// point as the stream they were cloned from.
		/// 
		/// <p>Expert: Subclasses must ensure that clones may be positioned at
		/// different points in the input from each other and from the stream they
		/// were cloned from.
		/// </summary>
		public virtual System.Object Clone()
		{
			IndexInput clone = null;
			try
			{
				clone = (IndexInput) base.MemberwiseClone();
			}
			catch (System.Exception)
			{
			}
			
			clone.chars = null;
			
			return clone;
		}
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区久久久| 中文字幕久久午夜不卡| 2017欧美狠狠色| 日韩伦理电影网| 久久精品999| 色先锋资源久久综合| 老司机精品视频导航| 亚洲一区二区视频| 国产激情91久久精品导航| 欧美怡红院视频| 国产精品你懂的在线欣赏| 男女男精品网站| 日本美女一区二区| 欧美在线观看视频在线| 欧美日韩国产精品成人| 欧美精品在线观看一区二区| 亚洲天堂成人在线观看| 丁香婷婷综合激情五月色| 波多野结衣中文字幕一区 | 97久久久精品综合88久久| 8x福利精品第一导航| 亚洲激情网站免费观看| www.欧美.com| 欧美精品成人一区二区三区四区| 日韩色视频在线观看| 亚洲成人免费视频| 色婷婷久久久久swag精品| 中文字幕中文在线不卡住| 一区二区三区在线观看网站| yourporn久久国产精品| 中文字幕国产一区二区| 亚洲乱码国产乱码精品精的特点 | 国v精品久久久网| 欧美大片免费久久精品三p| 香蕉影视欧美成人| 欧美日韩免费视频| 日本最新不卡在线| 日韩欧美久久久| 国产乱对白刺激视频不卡| 久久久久久免费网| 亚洲一区精品在线| 欧美日韩一二区| 日韩中文字幕一区二区三区| 欧美一区二区视频在线观看2022 | 一区二区三区四区国产精品| 色综合久久88色综合天天免费| 欧美色图12p| 亚洲国产精品久久人人爱蜜臀| 久久激情五月婷婷| 欧美电影免费观看高清完整版在 | 91蝌蚪porny九色| 在线播放/欧美激情| 蜜桃久久久久久| 久久久亚洲精华液精华液精华液| 一区二区三区四区精品在线视频| 国产乱码精品一区二区三区忘忧草 | av电影在线观看一区| 亚洲欧美日韩国产中文在线| 在线欧美一区二区| 三级一区在线视频先锋| 99久久免费精品| 性久久久久久久| 久久久影视传媒| 欧美在线看片a免费观看| 久久精品国产99国产精品| 欧美这里有精品| 中文字幕中文字幕在线一区 | 亚洲香肠在线观看| 精品国产乱码91久久久久久网站| 偷拍亚洲欧洲综合| 久久精品人人做人人爽97| 在线一区二区三区| 麻豆精品一区二区综合av| 国产欧美一区二区在线观看| 久久国产欧美日韩精品| 成人免费一区二区三区视频| 欧美人xxxx| 成人精品国产一区二区4080| 亚洲第一久久影院| 中文幕一区二区三区久久蜜桃| 国产主播一区二区三区| 一区二区三区精品| 亚洲国产成人一区二区三区| 欧美日韩美女一区二区| 成人99免费视频| **欧美大码日韩| 精品国产91乱码一区二区三区| 美日韩黄色大片| 亚洲综合在线五月| 欧美日韩在线播放三区| 成人免费视频caoporn| 日本不卡一二三| 精品乱人伦一区二区三区| 一本大道久久a久久精二百| 洋洋av久久久久久久一区| 国产精品视频在线看| 欧美α欧美αv大片| 欧美日韩精品一区二区| 91免费观看视频在线| 国产成人精品一区二区三区四区 | 国产精品中文有码| 视频一区欧美日韩| 亚洲免费观看高清完整版在线 | 精品国产三级电影在线观看| 欧美性色aⅴ视频一区日韩精品| 天堂成人国产精品一区| 亚洲综合一区二区| 欧美一级黄色大片| 欧美人与性动xxxx| 一本到一区二区三区| 亚洲国产精品一区二区久久恐怖片 | 日日夜夜免费精品| 婷婷综合另类小说色区| 亚洲国产成人va在线观看天堂 | 91成人看片片| 91黄色免费版| 色狠狠桃花综合| 欧美在线制服丝袜| 911精品国产一区二区在线| 国产成人精品免费在线| 国产精品456| 成人午夜av电影| 99久久久久久| 国产永久精品大片wwwapp| 国产综合色在线视频区| 国产一区美女在线| 亚洲午夜电影在线| 亚洲第一会所有码转帖| 中文字幕第一区| 中文字幕一区二区不卡| 亚洲免费视频成人| 午夜成人免费电影| 免费成人结看片| 国产伦精品一区二区三区视频青涩| 一级中文字幕一区二区| 亚洲不卡av一区二区三区| 午夜免费久久看| 韩国毛片一区二区三区| 国产999精品久久久久久绿帽| 视频一区视频二区中文| 国产一区二区精品久久91| 国产精品自在在线| 色视频成人在线观看免| 制服丝袜国产精品| 久久精品人人做| 亚洲高清免费在线| 最新中文字幕一区二区三区 | 欧美人成免费网站| 亚洲精品一区在线观看| 欧美乱妇15p| 久久夜色精品一区| 亚洲日穴在线视频| 男女视频一区二区| 91一区二区在线| 日韩精品一区二区三区四区 | 午夜电影网一区| 亚洲国产精品久久久久秋霞影院| 亚洲欧洲www| 日本成人在线网站| 99re6这里只有精品视频在线观看| 国产精品99久久久久久久女警| 久久爱www久久做| 奇米精品一区二区三区在线观看一| 亚洲成av人片在www色猫咪| 国产精品亚洲一区二区三区在线| 久久国产剧场电影| 在线看日本不卡| 中文字幕精品综合| 免费的成人av| 欧美三级乱人伦电影| 欧美日本一区二区三区四区| 国产精品天美传媒沈樵| 日本不卡123| 欧美日本国产一区| 精品欧美久久久| 国产欧美综合在线观看第十页| 中文字幕乱码久久午夜不卡| 七七婷婷婷婷精品国产| 国模无码大尺度一区二区三区 | 五月天精品一区二区三区| k8久久久一区二区三区| 2024国产精品| 国产精品欧美经典| 韩国在线一区二区| 波多野结衣在线aⅴ中文字幕不卡| 99这里只有久久精品视频| 国产欧美日韩综合精品一区二区 | 99re视频这里只有精品| 欧美电视剧在线观看完整版| 日韩精品电影一区亚洲| 韩国在线一区二区| 日韩一级黄色大片| 日韩高清不卡一区二区| 欧美日韩一区视频| 亚洲一区二区av电影| 在线观看三级视频欧美| 亚洲欧美激情小说另类| 97精品国产露脸对白| 中文字幕一区二区三区不卡| 日韩精品欧美精品|