Deprecated Methods |
org.apache.lucene.index.IndexWriter.addIndexesNoOptimize(Directory...)
use IndexWriter.addIndexes(Directory...) instead |
org.apache.lucene.queryParser.core.processors.QueryNodeProcessorPipeline.addProcessor(QueryNodeProcessor)
this class now conforms to List interface, so use
QueryNodeProcessorPipeline.add(QueryNodeProcessor) instead |
org.apache.lucene.queryParser.core.nodes.QueryNode.containsTag(CharSequence)
use QueryNode.containsTag(String) instead |
org.apache.lucene.queryParser.core.nodes.QueryNodeImpl.containsTag(CharSequence)
use QueryNodeImpl.containsTag(String) instead |
org.apache.lucene.store.Directory.copy(Directory, Directory, boolean)
should be replaced with calls to
Directory.copy(Directory, String, String) for every file that
needs copying. You can use the following code:
IndexFileNameFilter filter = IndexFileNameFilter.getFilter();
for (String file : src.listAll()) {
if (filter.accept(null, file)) {
src.copy(dest, file, file);
}
}
|
org.apache.lucene.analysis.CharArraySet.copy(Set)
use CharArraySet.copy(Version, Set) instead. |
org.apache.lucene.search.Searcher.createWeight(Query)
never ever use this method in Weight implementations.
Subclasses of Searcher should use Searcher.createNormalizedWeight(org.apache.lucene.search.Query) , instead. |
org.apache.lucene.util.IndexableBinaryStringTools.decode(CharBuffer)
Use IndexableBinaryStringTools.decode(char[], int, int, byte[], int, int)
instead. This method will be removed in Lucene 4.0 |
org.apache.lucene.util.IndexableBinaryStringTools.decode(CharBuffer, ByteBuffer)
Use IndexableBinaryStringTools.decode(char[], int, int, byte[], int, int)
instead. This method will be removed in Lucene 4.0 |
org.apache.lucene.search.Similarity.decodeNorm(byte)
Use Similarity.decodeNormValue(byte) instead. |
org.apache.lucene.util.IndexableBinaryStringTools.encode(ByteBuffer)
Use IndexableBinaryStringTools.encode(byte[], int, int, char[], int, int)
instead. This method will be removed in Lucene 4.0 |
org.apache.lucene.util.IndexableBinaryStringTools.encode(ByteBuffer, CharBuffer)
Use IndexableBinaryStringTools.encode(byte[], int, int, char[], int, int)
instead. This method will be removed in Lucene 4.0 |
org.apache.lucene.search.Similarity.encodeNorm(float)
Use Similarity.encodeNormValue(float) instead. |
org.tartarus.snowball.SnowballProgram.eq_s_b(int, String)
for binary back compat. Will be removed in Lucene 4.0 |
org.tartarus.snowball.SnowballProgram.eq_s(int, String)
for binary back compat. Will be removed in Lucene 4.0 |
org.tartarus.snowball.SnowballProgram.eq_v_b(StringBuilder)
for binary back compat. Will be removed in Lucene 4.0 |
org.tartarus.snowball.SnowballProgram.eq_v(StringBuilder)
for binary back compat. Will be removed in Lucene 4.0 |
org.apache.lucene.search.BooleanFilter.finalResult(OpenBitSetDISI, int)
Either use CachingWrapperFilter, or
switch to a different DocIdSet implementation yourself.
This method will be removed in Lucene 4.0 |
org.apache.lucene.search.ChainedFilter.finalResult(OpenBitSetDISI, int)
Either use CachingWrapperFilter, or
switch to a different DocIdSet implementation yourself.
This method will be removed in Lucene 4.0 |
org.apache.lucene.queryParser.CharStream.getColumn()
|
org.apache.lucene.benchmark.byTask.feeds.demohtml.SimpleCharStream.getColumn()
|
org.apache.lucene.queryParser.standard.parser.JavaCharStream.getColumn()
|
org.apache.lucene.queryParser.surround.parser.CharStream.getColumn()
|
org.apache.lucene.util.IndexableBinaryStringTools.getDecodedLength(CharBuffer)
Use IndexableBinaryStringTools.getDecodedLength(char[], int, int) instead. This
method will be removed in Lucene 4.0 |
org.apache.lucene.index.IndexWriter.getDefaultWriteLockTimeout()
use IndexWriterConfig.getDefaultWriteLockTimeout() instead |
org.apache.lucene.analysis.StopFilter.getEnablePositionIncrementsVersionDefault(Version)
use StopFilter.StopFilter(Version, TokenStream, Set) instead |
org.apache.lucene.util.IndexableBinaryStringTools.getEncodedLength(ByteBuffer)
Use IndexableBinaryStringTools.getEncodedLength(byte[], int, int) instead. This
method will be removed in Lucene 4.0 |
org.apache.lucene.document.Document.getField(String)
use Document.getFieldable(java.lang.String) instead and cast depending on
data type. |
org.apache.lucene.queryParser.core.config.QueryConfigHandler.getFieldConfig(CharSequence)
use QueryConfigHandler.getFieldConfig(String) instead |
org.apache.lucene.queryParser.core.config.FieldConfig.getFieldName()
use FieldConfig.getField() instead |
org.apache.lucene.queryParser.QueryParser.getFieldQuery(String, String)
Use QueryParser.getFieldQuery(String,String,boolean) instead. |
org.apache.lucene.queryParser.standard.QueryParserWrapper.getFieldQuery(String, String)
Use QueryParserWrapper.getFieldQuery(String, String, boolean) instead |
org.apache.lucene.document.Document.getFields(String)
use Document.getFieldable(java.lang.String) instead and cast depending on
data type. |
org.apache.lucene.search.vectorhighlight.BaseFragmentsBuilder.getFieldValues(IndexReader, int, String)
|
org.apache.lucene.store.FSDirectory.getFile()
Use FSDirectory.getDirectory() instead. |
org.apache.lucene.search.vectorhighlight.BaseFragmentsBuilder.getFragmentSource(StringBuilder, int[], String[], int, int)
|
org.apache.lucene.analysis.compound.HyphenationCompoundWordTokenFilter.getHyphenationTree(Reader)
Don't use Readers with fixed charset to load XML files, unless programatically created.
Use HyphenationCompoundWordTokenFilter.getHyphenationTree(InputSource) instead, where you can supply default charset and input
stream, if you like. |
org.apache.lucene.queryParser.CharStream.getLine()
|
org.apache.lucene.benchmark.byTask.feeds.demohtml.SimpleCharStream.getLine()
|
org.apache.lucene.queryParser.standard.parser.JavaCharStream.getLine()
|
org.apache.lucene.queryParser.surround.parser.CharStream.getLine()
|
org.apache.lucene.index.IndexWriter.getMaxBufferedDeleteTerms()
use IndexWriterConfig.getMaxBufferedDeleteTerms() instead |
org.apache.lucene.index.IndexWriter.getMaxBufferedDocs()
use IndexWriterConfig.getMaxBufferedDocs() instead. |
org.apache.lucene.index.IndexWriter.getMaxFieldLength()
use LimitTokenCountAnalyzer to limit number of tokens. |
org.apache.lucene.index.IndexWriter.getMaxMergeDocs()
use LogMergePolicy.getMaxMergeDocs() directly. |
org.apache.lucene.index.IndexWriter.getMergedSegmentWarmer()
use IndexWriterConfig.getMergedSegmentWarmer() instead. |
org.apache.lucene.index.IndexWriter.getMergeFactor()
use LogMergePolicy.getMergeFactor() directly. |
org.apache.lucene.index.IndexWriter.getMergePolicy()
use IndexWriterConfig.getMergePolicy() instead |
org.apache.lucene.index.IndexWriter.getMergeScheduler()
use IndexWriterConfig.getMergeScheduler() instead |
org.apache.lucene.search.Similarity.getNormDecoder()
Use instance methods for encoding/decoding norm values to enable customization. |
org.apache.lucene.document.AbstractField.getOmitTermFreqAndPositions()
use AbstractField.getIndexOptions() instead. |
org.apache.lucene.index.IndexWriter.getRAMBufferSizeMB()
use IndexWriterConfig.getRAMBufferSizeMB() instead. |
org.apache.lucene.index.IndexWriter.getReader()
Please use IndexReader.open(IndexWriter,boolean) instead. |
org.apache.lucene.index.IndexWriter.getReader(int)
Please use IndexReader.open(IndexWriter,boolean) instead. Furthermore,
this method cannot guarantee the reader (and its
sub-readers) will be opened with the
termInfosIndexDivisor setting because some of them may
have already been opened according to IndexWriterConfig.setReaderTermsIndexDivisor(int) . You
should set the requested termInfosIndexDivisor through
IndexWriterConfig.setReaderTermsIndexDivisor(int) and use
IndexWriter.getReader() . |
org.apache.lucene.index.IndexWriter.getReaderTermsIndexDivisor()
use IndexWriterConfig.getReaderTermsIndexDivisor() instead. |
org.apache.lucene.index.IndexWriter.getSimilarity()
use IndexWriterConfig.getSimilarity() instead |
org.apache.lucene.search.Scorer.getSimilarity()
Store any Similarity you might need privately in your implementation instead. |
org.apache.lucene.search.Query.getSimilarity(Searcher)
Instead of using "runtime" subclassing/delegation, subclass the Weight instead. |
org.apache.lucene.queryParser.core.nodes.QueryNode.getTag(CharSequence)
use QueryNode.getTag(String) instead |
org.apache.lucene.queryParser.core.nodes.QueryNodeImpl.getTag(CharSequence)
use QueryNodeImpl.getTag(String) instead |
org.apache.lucene.queryParser.core.nodes.QueryNode.getTags()
use QueryNode.getTagMap() |
org.apache.lucene.queryParser.core.nodes.QueryNodeImpl.getTags()
use QueryNodeImpl.getTagMap() instead |
org.apache.lucene.index.IndexWriter.getTermIndexInterval()
use IndexWriterConfig.getTermIndexInterval() |
org.apache.lucene.index.IndexWriter.getUseCompoundFile()
use LogMergePolicy.getUseCompoundFile() |
org.apache.lucene.index.IndexWriter.getWriteLockTimeout()
use IndexWriterConfig.getWriteLockTimeout() |
org.tartarus.snowball.SnowballProgram.insert(int, int, String)
for binary back compat. Will be removed in Lucene 4.0 |
org.tartarus.snowball.SnowballProgram.insert(int, int, StringBuilder)
for binary back compat. Will be removed in Lucene 4.0 |
org.apache.lucene.analysis.standard.StandardTokenizer.isReplaceInvalidAcronym()
Remove in 3.X and make true the only valid value |
org.apache.lucene.analysis.standard.ClassicTokenizer.isReplaceInvalidAcronym()
Remove in 3.X and make true the only valid value |
org.apache.lucene.analysis.CharTokenizer.isTokenChar(char)
use CharTokenizer.isTokenChar(int) instead. This method will be
removed in Lucene 4.0. |
org.apache.lucene.search.Similarity.lengthNorm(String, int)
Please override computeNorm instead |
org.apache.lucene.search.similar.MoreLikeThis.like(File)
use MoreLikeThis.like(Reader, String) instead |
org.apache.lucene.search.similar.MoreLikeThis.like(InputStream)
use MoreLikeThis.like(Reader, String) instead |
org.apache.lucene.search.similar.MoreLikeThis.like(Reader)
use MoreLikeThis.like(Reader, String) instead |
org.apache.lucene.search.similar.MoreLikeThis.like(URL)
use MoreLikeThis.like(Reader, String) instead |
org.apache.lucene.analysis.cz.CzechAnalyzer.loadStopWords(InputStream, String)
use WordlistLoader.getWordSet(Reader, String)
and CzechAnalyzer.CzechAnalyzer(Version, Set) instead |
org.apache.lucene.search.vectorhighlight.BaseFragmentsBuilder.makeFragment(StringBuilder, int[], String[], FieldFragList.WeightedFragInfo)
|
org.apache.lucene.analysis.StopFilter.makeStopSet(List)
use StopFilter.makeStopSet(Version, List) instead |
org.apache.lucene.analysis.StopFilter.makeStopSet(List, boolean)
use StopFilter.makeStopSet(Version, List, boolean) instead |
org.apache.lucene.analysis.StopFilter.makeStopSet(String...)
use StopFilter.makeStopSet(Version, String...) instead |
org.apache.lucene.analysis.StopFilter.makeStopSet(String[], boolean)
use StopFilter.makeStopSet(Version, String[], boolean) instead; |
org.apache.lucene.analysis.CharTokenizer.normalize(char)
use CharTokenizer.normalize(int) instead. This method will be
removed in Lucene 4.0. |
org.apache.lucene.index.SegmentInfos.range(int, int)
use asList().subList(first, last)
instead. |
org.apache.lucene.store.DataInput.readChars(char[], int, int)
-- please use readString or readBytes
instead, and construct the string
from those utf8 bytes |
org.tartarus.snowball.SnowballProgram.replace_s(int, int, String)
for binary back compat. Will be removed in Lucene 4.0 |
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.resizeTermBuffer(int)
|
org.apache.lucene.search.similar.MoreLikeThis.retrieveInterestingTerms(Reader)
use MoreLikeThis.retrieveInterestingTerms(Reader, String) instead. |
org.apache.lucene.search.similar.MoreLikeThis.retrieveTerms(Reader)
use MoreLikeThis.retrieveTerms(Reader, String) instead |
org.apache.lucene.analysis.reverse.ReverseStringFilter.reverse(char[])
use ReverseStringFilter.reverse(Version, char[]) instead. This
method will be removed in Lucene 4.0 |
org.apache.lucene.analysis.reverse.ReverseStringFilter.reverse(char[], int)
use ReverseStringFilter.reverse(Version, char[], int) instead. This
method will be removed in Lucene 4.0 |
org.apache.lucene.analysis.reverse.ReverseStringFilter.reverse(char[], int, int)
use ReverseStringFilter.reverse(Version, char[], int, int) instead. This
method will be removed in Lucene 4.0 |
org.apache.lucene.analysis.reverse.ReverseStringFilter.reverse(String)
use ReverseStringFilter.reverse(Version, String) instead. This method
will be removed in Lucene 4.0 |
org.apache.lucene.analysis.fr.ElisionFilter.setArticles(Set)
use ElisionFilter.setArticles(Version, Set) instead |
org.apache.lucene.analysis.fr.ElisionFilter.setArticles(Version, Set)
use ElisionFilter.ElisionFilter(Version, TokenStream, Set) instead |
org.apache.lucene.queryParser.core.builders.QueryTreeBuilder.setBuilder(CharSequence, QueryBuilder)
use QueryTreeBuilder.setBuilder(String, QueryBuilder) instead |
org.apache.lucene.queryParser.standard.StandardQueryParser.setDateResolution(Map)
this method was renamed to StandardQueryParser.setDateResolutionMap(Map) |
org.apache.lucene.queryParser.standard.StandardQueryParser.setDefaultOperator(DefaultOperatorAttribute.Operator)
|
org.apache.lucene.queryParser.standard.StandardQueryParser.setDefaultPhraseSlop(int)
renamed to StandardQueryParser.setPhraseSlop(int) |
org.apache.lucene.index.IndexWriter.setDefaultWriteLockTimeout(long)
use IndexWriterConfig.setDefaultWriteLockTimeout(long) instead |
org.apache.lucene.analysis.de.GermanStemFilter.setExclusionSet(Set)
use KeywordAttribute with KeywordMarkerFilter instead. |
org.apache.lucene.analysis.nl.DutchStemFilter.setExclusionTable(HashSet)
use KeywordAttribute with KeywordMarkerFilter instead. |
org.apache.lucene.analysis.fr.FrenchStemFilter.setExclusionTable(Map)
use KeywordAttribute with KeywordMarkerFilter instead. |
org.apache.lucene.index.IndexWriter.setMaxBufferedDeleteTerms(int)
use IndexWriterConfig.setMaxBufferedDeleteTerms(int) instead. |
org.apache.lucene.index.IndexWriter.setMaxBufferedDocs(int)
use IndexWriterConfig.setMaxBufferedDocs(int) instead. |
org.apache.lucene.index.IndexWriter.setMaxFieldLength(int)
use LimitTokenCountAnalyzer instead. Note that the
behvaior slightly changed - the analyzer limits the number of
tokens per token stream created, while this setting limits the
total number of tokens to index. This only matters if you index
many multi-valued fields though. |
org.apache.lucene.index.IndexWriter.setMaxMergeDocs(int)
use LogMergePolicy.setMaxMergeDocs(int) directly. |
org.apache.lucene.index.IndexWriter.setMergedSegmentWarmer(IndexWriter.IndexReaderWarmer)
use
IndexWriterConfig.setMergedSegmentWarmer(org.apache.lucene.index.IndexWriter.IndexReaderWarmer)
instead. |
org.apache.lucene.index.IndexWriter.setMergeFactor(int)
use LogMergePolicy.setMergeFactor(int) directly. |
org.apache.lucene.index.IndexWriter.setMergePolicy(MergePolicy)
use IndexWriterConfig.setMergePolicy(MergePolicy) instead. |
org.apache.lucene.index.IndexWriter.setMergeScheduler(MergeScheduler)
use IndexWriterConfig.setMergeScheduler(MergeScheduler) instead |
org.apache.lucene.index.IndexReader.setNorm(int, String, float)
Use IndexReader.setNorm(int, String, byte) instead, encoding the
float to byte with your Similarity's Similarity.encodeNormValue(float) .
This method will be removed in Lucene 4.0 |
org.apache.lucene.document.AbstractField.setOmitTermFreqAndPositions(boolean)
use AbstractField.setIndexOptions(FieldInfo.IndexOptions) instead. |
org.apache.lucene.index.IndexWriter.setRAMBufferSizeMB(double)
use IndexWriterConfig.setRAMBufferSizeMB(double) instead. |
org.apache.lucene.index.IndexWriter.setReaderTermsIndexDivisor(int)
use IndexWriterConfig.setReaderTermsIndexDivisor(int) instead. |
org.apache.lucene.analysis.standard.StandardTokenizer.setReplaceInvalidAcronym(boolean)
Remove in 3.X and make true the only valid value
See https://issues.apache.org/jira/browse/LUCENE-1068 |
org.apache.lucene.analysis.standard.ClassicTokenizer.setReplaceInvalidAcronym(boolean)
Remove in 3.X and make true the only valid value
See https://issues.apache.org/jira/browse/LUCENE-1068 |
org.apache.lucene.index.IndexWriter.setSimilarity(Similarity)
use IndexWriterConfig.setSimilarity(Similarity) instead |
org.apache.lucene.analysis.nl.DutchAnalyzer.setStemDictionary(File)
This prevents reuse of TokenStreams. If you wish to use a custom
stem dictionary, create your own Analyzer with StemmerOverrideFilter |
org.apache.lucene.analysis.br.BrazilianAnalyzer.setStemExclusionTable(File)
use BrazilianAnalyzer.BrazilianAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.de.GermanAnalyzer.setStemExclusionTable(File)
use GermanAnalyzer.GermanAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.fr.FrenchAnalyzer.setStemExclusionTable(File)
use FrenchAnalyzer.FrenchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.nl.DutchAnalyzer.setStemExclusionTable(File)
use DutchAnalyzer.DutchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.nl.DutchAnalyzer.setStemExclusionTable(HashSet)
use DutchAnalyzer.DutchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.br.BrazilianAnalyzer.setStemExclusionTable(Map)
use BrazilianAnalyzer.BrazilianAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.de.GermanAnalyzer.setStemExclusionTable(Map)
use GermanAnalyzer.GermanAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.fr.FrenchAnalyzer.setStemExclusionTable(Map)
use FrenchAnalyzer.FrenchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.br.BrazilianAnalyzer.setStemExclusionTable(String...)
use BrazilianAnalyzer.BrazilianAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.fr.FrenchAnalyzer.setStemExclusionTable(String...)
use FrenchAnalyzer.FrenchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.nl.DutchAnalyzer.setStemExclusionTable(String...)
use DutchAnalyzer.DutchAnalyzer(Version, Set, Set) instead |
org.apache.lucene.analysis.de.GermanAnalyzer.setStemExclusionTable(String[])
use GermanAnalyzer.GermanAnalyzer(Version, Set, Set) instead |
org.apache.lucene.queryParser.core.nodes.QueryNode.setTag(CharSequence, Object)
use QueryNode.setTag(String, Object) instead |
org.apache.lucene.queryParser.core.nodes.QueryNodeImpl.setTag(CharSequence, Object)
use QueryNodeImpl.setTag(String, Object) instead |
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.setTermBuffer(char[], int, int)
|
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.setTermBuffer(String)
|
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.setTermBuffer(String, int, int)
|
org.apache.lucene.index.IndexWriter.setTermIndexInterval(int)
use IndexWriterConfig.setTermIndexInterval(int) |
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.setTermLength(int)
|
org.apache.lucene.index.ConcurrentMergeScheduler.setTestMode()
this test mode code will be removed in a future release |
org.apache.lucene.index.IndexWriter.setUseCompoundFile(boolean)
use LogMergePolicy.setUseCompoundFile(boolean) . |
org.apache.lucene.index.IndexWriter.setWriteLockTimeout(long)
use IndexWriterConfig.setWriteLockTimeout(long) instead |
org.apache.lucene.store.IndexInput.skipChars(int)
this method operates on old "modified utf8" encoded
strings |
org.tartarus.snowball.SnowballProgram.slice_from(String)
for binary back compat. Will be removed in Lucene 4.0 |
org.tartarus.snowball.SnowballProgram.slice_from(StringBuilder)
for binary back compat. Will be removed in Lucene 4.0 |
org.apache.lucene.index.MultiPassIndexSplitter.split(IndexReader, Directory[], boolean)
use MultiPassIndexSplitter.split(Version, IndexReader, Directory[], boolean) instead.
This method will be removed in Lucene 4.0. |
org.apache.lucene.analysis.CharArraySet.stringIterator()
Use CharArraySet.iterator() , which returns char[] instances. |
org.apache.lucene.store.FileSwitchDirectory.sync(String)
|
org.apache.lucene.store.FSDirectory.sync(String)
|
org.apache.lucene.store.Directory.sync(String)
use Directory.sync(Collection) instead.
For easy migration you can change your code to call
sync(Collections.singleton(name)) |
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.term()
|
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.termBuffer()
|
org.apache.lucene.analysis.tokenattributes.CharTermAttributeImpl.termLength()
|
org.apache.lucene.store.NRTCachingDirectory.touchFile(String)
|
org.apache.lucene.store.FileSwitchDirectory.touchFile(String)
|
org.apache.lucene.store.RAMDirectory.touchFile(String)
Lucene never uses this API; it will be
removed in 4.0. |
org.apache.lucene.store.FSDirectory.touchFile(String)
Lucene never uses this API; it will be
removed in 4.0. |
org.apache.lucene.store.Directory.touchFile(String)
Lucene never uses this API; it will be
removed in 4.0. |
org.apache.lucene.queryParser.core.nodes.QueryNode.unsetTag(CharSequence)
use QueryNode.unsetTag(String) instead |
org.apache.lucene.queryParser.core.nodes.QueryNodeImpl.unsetTag(CharSequence)
use QueryNodeImpl.unsetTag(String) |
org.apache.lucene.search.Query.weight(Searcher)
never ever use this method in Weight implementations.
Subclasses of Query should use Query.createWeight(org.apache.lucene.search.Searcher) , instead. |
org.apache.lucene.store.DataOutput.writeChars(char[], int, int)
-- please pre-convert to utf8 bytes instead or use DataOutput.writeString(java.lang.String) |
org.apache.lucene.store.DataOutput.writeChars(String, int, int)
-- please pre-convert to utf8 bytes
instead or use DataOutput.writeString(java.lang.String) |