コード例 #1
0
        /// <exception cref="System.IO.IOException"/>
        public static void CheckFileStatus(FileSystem aFs, string path, FileSystemTestHelper.FileType
                                           expectedType)
        {
            FileStatus s = aFs.GetFileStatus(new Path(path));

            NUnit.Framework.Assert.IsNotNull(s);
            if (expectedType == FileSystemTestHelper.FileType.isDir)
            {
                Assert.True(s.IsDirectory());
            }
            else
            {
                if (expectedType == FileSystemTestHelper.FileType.isFile)
                {
                    Assert.True(s.IsFile());
                }
                else
                {
                    if (expectedType == FileSystemTestHelper.FileType.isSymlink)
                    {
                        Assert.True(s.IsSymlink());
                    }
                }
            }
            Assert.Equal(aFs.MakeQualified(new Path(path)), s.GetPath());
        }
コード例 #2
0
        /// <exception cref="System.IO.IOException"/>
        private void ListSubtree(FileStatus rootStatus, SequenceFile.Writer writer)
        {
            Path rootFile = rootStatus.GetPath();

            if (rootStatus.IsFile())
            {
                nrFiles++;
                // For a regular file generate <fName,offset> pairs
                long blockSize  = fs.GetDefaultBlockSize(rootFile);
                long fileLength = rootStatus.GetLen();
                for (long offset = 0; offset < fileLength; offset += blockSize)
                {
                    writer.Append(new Text(rootFile.ToString()), new LongWritable(offset));
                }
                return;
            }
            FileStatus[] children = null;
            try
            {
                children = fs.ListStatus(rootFile);
            }
            catch (FileNotFoundException)
            {
                throw new IOException("Could not get listing for " + rootFile);
            }
            for (int i = 0; i < children.Length; i++)
            {
                ListSubtree(children[i], writer);
            }
        }
コード例 #3
0
        /// <exception cref="System.IO.IOException"/>
        public override void CheckFileLinkStatus(string path, FSTestWrapper.FileType expectedType
                                                 )
        {
            FileStatus s = fs.GetFileLinkStatus(new Path(path));

            NUnit.Framework.Assert.IsNotNull(s);
            if (expectedType == FSTestWrapper.FileType.isDir)
            {
                Assert.True(s.IsDirectory());
            }
            else
            {
                if (expectedType == FSTestWrapper.FileType.isFile)
                {
                    Assert.True(s.IsFile());
                }
                else
                {
                    if (expectedType == FSTestWrapper.FileType.isSymlink)
                    {
                        Assert.True(s.IsSymlink());
                    }
                }
            }
            Assert.Equal(fs.MakeQualified(new Path(path)), s.GetPath());
        }