在本地文件系统中创建文件夹

时间:2013-12-09 10:11:12

标签: java hadoop directory

我的mapper中有以下代码[Hadoop - Map Reduce]

我试图在共享路径中创建一个文件夹

protected void setup(Context context)
        throws IOException,InterruptedException 
    {

        fileName1 = ((FileSplit) context.getInputSplit()).getPath().getName().toString();
        Directory = "\\\\DEV144\\MapperFile\\"+fileName1;
        File directory1 = new File(Directory);
        if (!directory1.exists())
        {
         boolean result = new File(Directory).mkdirs(); 
         System.out.println(Directory);
        if(result)
        {    
            System.out.println("DIR created"); 
            System.out.println(Directory);          
        }
        }   
        mos = new MultipleOutputs(context);

上面的代码没有创建文件夹。但是当我给出这样的东西时

Directory = "E:\\MapperFile\\"+fileName1;
File directory1 = new File(Directory);

并指出本地系统正在创建文件夹并正常工作

我的问题是为什么它无法在共享路径中创建文件夹?

我的代码出了什么问题

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我开始使用jCIFS。我必须指出,这用于从 linux 计算机访问 windows 共享目录。要创建目录,您可以使用:

String smbUrl = "smb://domain;username:password@server/share/myNewDirectory";
SmbFile smbFile = new SmbFile(smbURL);
try{    
    smbFile.mkdir();
}catch(SmbException e){...}

不要忘记检查您是否对java应用程序有足够的权限。