6.3 访问集群文件根目录
成功启动FttpServer后,可以使用FttpAdapter的API进行相关操作。FttpAdapter.fttpRoots()是一个静态方法,可以得到集群文件系统根目录,它返回一个String数组,通常是IP字符对应每台计算机。
listRoots()方法可以得到每台计算机上的硬盘目录,比如:
- FttpAdapter fa = new FttpAdapter("fttp://"+fttproots[i]);
- String[] roots = fa.listRoots();
FttpRootDemo显示了获取集群文件的根目录和它们各自下面的硬盘目录,如图6-5所示。
下面介绍运行步骤:
1)启动ParkServerDemo:
- java -cp fourinone.jar; ParkServerDemo
2)启动一到多个FttpServer:
- java -cp fourinone.jar; FttpServer localhost
3)运行FttpRootDemo:
- java -cp fourinone.jar; FttpRootDemo
图6-5 FttpRootDemo
由于我们只在本机启动了FttpServer,因此从图6-5中可以看到将本机IP和硬盘根目录显示出来。
完整demo源码如下:
- // ParkServerDemo
- import com.fourinone.BeanContext;
- public class ParkServerDemo
- {
- public static void main(String[] args)
- {
- BeanContext.startPark();
- }
- }
- // FttpServer
- import com.fourinone.BeanContext;
- public class FttpServer
- {
- public static void main(String[] args)
- {
- BeanContext.startFttpServer(args[0]);
- }
- }
- // FttpRootDemo
- import com.fourinone.FttpAdapter;
- import com.fourinone.FttpException;
- public class FttpRootDemo
- {
- public static void main(String[] args){
- try{
- String[] fttproots = FttpAdapter.fttpRoots();
- for(int i=0;i<fttproots.length;i++){
- System.out.println(fttproots[i]);
- FttpAdapter fa = new FttpAdapter("fttp://"+fttproots[i]);
- String[] roots = fa.listRoots();
- for(int j=0;j<roots.length;j++){
- System.out.println(roots[j]);
- }
- System.out.println("");
- }
- }catch(FttpException fe){
- fe.printStackTrace();
- }
- }
- }