我的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);
并指出本地系统正在创建文件夹并正常工作
我的问题是为什么它无法在共享路径中创建文件夹?
我的代码出了什么问题
答案 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应用程序有足够的权限。