/// <summary> /// Reading the path from the image and converting it to byte[][] directly /// this saves us an array copy and conversions to and from String /// </summary> /// <param name="in">input to read from</param> /// <returns> /// the array each element of which is a byte[] representation /// of a path component /// </returns> /// <exception cref="System.IO.IOException"/> public static byte[][] ReadPathComponents(DataInput @in) { DeprecatedUTF8 ustr = TlData.Get().UStr; ustr.ReadFields(@in); return(DFSUtil.Bytes2byteArray(ustr.GetBytes(), ustr.GetLength(), unchecked ((byte )Path.SeparatorChar))); }
/// <exception cref="System.Exception"/> public virtual void TestString(string str) { string pathString = str; byte[][] oldPathComponents = INode.GetPathComponents(pathString); byte[][] newPathComponents = DFSUtil.Bytes2byteArray(Sharpen.Runtime.GetBytesForString (pathString, Charsets.Utf8), unchecked ((byte)Path.SeparatorChar)); if (oldPathComponents[0] == null) { NUnit.Framework.Assert.IsTrue(oldPathComponents[0] == newPathComponents[0]); } else { NUnit.Framework.Assert.IsTrue("Path components do not match for " + pathString, Arrays .DeepEquals(oldPathComponents, newPathComponents)); } }