2 zhongguobaobao43 zhongguobaobao43 于 2016.01.17 18:44 提问

hadoop删除文件报错“NullPointException” 文件路径中文件名中文乱码

大家好,我想请教一下关于hadoop文件删除的问题,希望有大牛在空闲之余给予指导。

问题描述:之前别的用户通过hadoop上传了文件,由于编码问题,之前人家上传的文件名读取出来
为中文乱码,例如:fileUrl==========hdfs://localhost:9000/user\1\1417591508779_???????.docx,

现在我想删除这些乱码文件,由于文件路径中包含中文乱码,以下代码中会报“java.lang.NullPointerException”的错误。

            Path[] delef=FileUtil.stat2Paths(files);
            for(Path p:delef){
                flag=hdfs.delete(p,true);   
            }

现在想要寻求删除这些乱码文件的方法。

1个回答

devmiao
devmiao   Ds   Rxr 2016.01.17 18:47
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
(五)hadoop路径读取文件的通配符
一、通配符 通配符 注解 * 代表0到多个字符 ? 代表单一字符 [ ab ] 代表字符类型,匹配{a,b}中的一个字符 [ ^ab ] 代表不是{a,b}中的一个字符 [ a-b ] 代表匹配一个a到b之间的字符包括ab,ASCII代码在a-b之间的 [ ^a-b] 代表不在a到b之间的字符包括ab {a,b} 代表匹配a或b的一个语句
hdfs获取文件列表,利用正则表达式选择文件并作下一步处理
Configuration conf = new Configuration(); FileSystem hdfs = FileSystem.get(URI.create(args[1]),conf); FileStatus[] listStatus = hdfs.listStatus(new Path(args[1])); Path[] listPath = FileUtil.stat2P
hadoop 代码中获取文件名
在hadoop的MR相关代码中,经常需要获得mapper输入的文件名,从而针对不同的文件进行不同的操作。下面简单地介绍一下如果在MR代码中获取文件名1.在streaming中获取文件名实际中经常用python开发streaming程序,在python代码中可以用如下方式获得文件名:import osfilepath = os.environ["mapreduce_map_input_file"]通过
Hadoop 中 获取 输入文件名
旧API 获取输入路径 String path=((FileSplit)reporter.getInputSplit()).getPath().toString(); 新API 获取文件名 InputSplit inputSplit = context.getInputSplit(); String fileName = ((FileSplit) inputSplit)
mapreduce获取输入文件名、输出路径
1。 获得输入文件名 String input= context.getInputSplit();     context 就是 Context对象 2。获得输出路径 String outPutPath = context.getConfiguration().get("mapred.output.dir");
linux上如何删除文件名乱码的文件
今天在服务上发现了两个文件名是乱码的文件,如图所示。 于是想用rm命令把它们删掉,但提示没有此文件。网上搜了一下,找到解决方法,首先执行ls -i命令,此时在文件前面会出现一个数字,这个数字是文件的节点号: 接着,执行命令find -inum 节点号 -delete就可以把两个乱码的文件删掉了。
git中文文件名、目录名乱码 log 应该怎么解决
在查看修改历史时,对于中文文件名,git log和gitk都会出现类似的乱码: sepg\344\274\232\350\256\256\346\200\273\347\273\223.doc 通过看git的源码,找到了解决方案: git config core.quotepath false core.quotepath设为false的话,就不会对0x80以上的字符进行q
python hadoop 在streaming中获取文件名的方法 (参考java )适用: MRjob
在hadoop的开发中,经常要根据streaming中不同的文件名做不同的处理,需要获取文件名。 1,hadoop上在java开发可用: FileSplit fileSplit = (FileSplit)reporter.getInputSplit(); String fileName = fileSplit.getPath().getName(); 来获取文件名称。 ,2
hadoop 文件通配符
public class FileWildCard {     public static void main(String[] args) throws IOException {     Configuration conf = new Configuration();     FileSystem fs = FileSystem. get(conf);     String di
Hadoop中文乱码
实验目的:使用wordcount实现中文无词典分词的功能 实验背景:文件上传后,进行无词典分词,再进行统计中文词之后,结果在eclipse下显示为乱码 针对乱码所做实验: 0)文件直接上传,在eclipse打开显示正常,但结果显示乱码 1)将文件格式改成UTF-8之后,再上传,结果发现在eclipse下打开是乱码,但在namenode:50070下打开是能显示的, 2