FileVisitor с использованием класса Path - как "вернуть" структуру каталогов?

Я пишу код списка каталогов для системы клиент-сервер, используя класс Path Java. Я создал собственный класс для того, что работает нормально. Однако я хочу отобразить результаты на клиенте, а не на сервере, что я не могу понять, как. Я довольно новичок в Java, поэтому, пожалуйста, извините, если это глупый вопрос.

Будет ли работать что-то вроде возврата объекта fileobj клиенту и печати его там? потому что я считаю, что структура каталогов хранится в этом объекте?

Я делаю это через RMI и следующий код реализации:

//this method is called from Client and is getting executed at Server side.
           public void DoDir(String dirpath) 
           {
           Path fileobj = Paths.get(dirpath);
           DirListing visitor = new DirListing();
          try{
            Files.walkFileTree(fileobj, visitor);
           //Just a thought:will returning fileobj and printing it on Client work?
           //If yes, how do I override toString here? 
     }
     catch(IOException e){
e.printStackTrace();
     }

Это обычный класс:

class DirListing extends SimpleFileVisitor<Path> 
{

@Override
public FileVisitResult postVisitDirectory(Path dir, IOException exc)
        throws IOException 
        {
            System.out.println("Just visited " + dir);
            return FileVisitResult.CONTINUE;
        }

@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs)
        throws IOException 
        {
            System.out.println("About to visit " + dir);
            return FileVisitResult.CONTINUE;
        }

@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs)
        throws IOException 
        {
            if (attrs.isRegularFile()) 
            {
                System.out.print("Regular File: ");
            }
            System.out.println(file);
            return FileVisitResult.CONTINUE;
        }

@Override
public FileVisitResult visitFileFailed(Path file, IOException exc)
        throws IOException 
        {
            System.err.println(exc.getMessage());
            return FileVisitResult.CONTINUE;
        } 

}

0 ответов

Другие вопросы по тегам