6.3 访问集群文件根目录

成功启动FttpServer后,可以使用FttpAdapter的API进行相关操作。FttpAdapter.fttpRoots()是一个静态方法,可以得到集群文件系统根目录,它返回一个String数组,通常是IP字符对应每台计算机。

listRoots()方法可以得到每台计算机上的硬盘目录,比如:

  1. FttpAdapter fa = new FttpAdapter("fttp://"+fttproots[i]);
  2. String[] roots = fa.listRoots();

FttpRootDemo显示了获取集群文件的根目录和它们各自下面的硬盘目录,如图6-5所示。

下面介绍运行步骤:

1)启动ParkServerDemo:

  1. java -cp fourinone.jar; ParkServerDemo

2)启动一到多个FttpServer:

  1. java -cp fourinone.jar; FttpServer localhost

3)运行FttpRootDemo:

  1. java -cp fourinone.jar; FttpRootDemo

6.3 访问集群文件根目录 - 图1

图6-5 FttpRootDemo

由于我们只在本机启动了FttpServer,因此从图6-5中可以看到将本机IP和硬盘根目录显示出来。

完整demo源码如下:

  1. // ParkServerDemo
  2. import com.fourinone.BeanContext;
  3. public class ParkServerDemo
  4. {
  5. public static void main(String[] args)
  6. {
  7. BeanContext.startPark();
  8. }
  9. }
  10.  
  11. // FttpServer
  12. import com.fourinone.BeanContext;
  13. public class FttpServer
  14. {
  15. public static void main(String[] args)
  16. {
  17. BeanContext.startFttpServer(args[0]);
  18. }
  19. }
  20.  
  21. // FttpRootDemo
  22. import com.fourinone.FttpAdapter;
  23. import com.fourinone.FttpException;
  24.  
  25. public class FttpRootDemo
  26. {
  27. public static void main(String[] args){
  28. try{
  29. String[] fttproots = FttpAdapter.fttpRoots();
  30. for(int i=0;i<fttproots.length;i++){
  31. System.out.println(fttproots[i]);
  32.  
  33. FttpAdapter fa = new FttpAdapter("fttp://"+fttproots[i]);
  34. String[] roots = fa.listRoots();
  35. for(int j=0;j<roots.length;j++){
  36. System.out.println(roots[j]);
  37. }
  38. System.out.println("");
  39. }
  40. }catch(FttpException fe){
  41. fe.printStackTrace();
  42. }
  43. }
  44. }