如何在java中读取.rc扩展名文件

如何在java中读取.rc扩展名文件,java,Java,我想用java读取.rc文件,并将其内容存储在hashmap中。 .rc ext文件是C/C++中使用的资源文件,我想用java开发应用程序。 请帮忙。提前谢谢 public static void main(String[] args){ try

我想用java读取.rc文件,并将其内容存储在hashmap中。 .rc ext文件是C/C++中使用的资源文件,我想用java开发应用程序。 请帮忙。提前谢谢

public static void main(String[] args){
        try                                                                                                                                     
        {    
            JobConf job = new JobConf(new Configuration(), Application.class);
            FileSystem fs = FileSystem.get(job);                                                                                         
            FileStatus [] fileStatuses = fs.listStatus(new Path("C:/Users/Desktop/fold/"));                               
            LongWritable key = new LongWritable();                                                                                       
            BytesRefArrayWritable value = new BytesRefArrayWritable();                                                                   
            int counter = 1;                                                                                                             
            for (int i = 0; i < fileStatuses.length; i++)                                                                                
            {                                                                                                                            
                FileStatus fileStatus = fileStatuses[i];                                                                                 
                if (!fileStatus.isDir())                                                                                                 
                {                                                                                                                        
                    System.out.println("File: " + fileStatus);                                                                           
                    FileSplit split = new FileSplit(fileStatus.getPath(), 0, fileStatus.getLen(), job);                                  
                    RCFileRecordReader reader = new RCFileRecordReader(job, split);                                                      
                    while (reader.next(key, value))                                                                                      
                    {                                                                                                                    
                        System.out.println("Getting row " + counter);                                                                                                                                                                                                                          
                        counter++;                                                                                                       
                    }                                                                                                                    
                }                                                                                                                        
            }                                                                                                                                                                                                                                                         
        }                                                                                                                                
        catch (IOException e)                                                                                                            
        {                                                                                                                                
            throw new Error(e);                                                                                                          
        }
    }
publicstaticvoidmain(字符串[]args){
尝试
{    
JobConf job=newjobconf(newconfiguration(),Application.class);
FileSystem fs=FileSystem.get(作业);
FileStatus[]fileStatuses=fs.listStatus(新路径(“C:/Users/Desktop/fold/”);
LongWritable键=新的LongWritable();
BytesRefArrayWritable值=新的BytesRefArrayWritable();
int计数器=1;
for(int i=0;i
这给了我一个例外:

线程“main”java.lang中出现异常。错误:java.io.IOException: 文件:/C:/Users/Desktop/fold/xyz.rc不是RCFile,具有I01的魔力 在Application.main(Application.java:119)处,由以下原因引起: java.io.IOException:文件:/C:/Users/Desktop/fold/xyz.rc不是RCF文件 并且有着I01的魔力 org.apache.hadoop.hive.ql.io.RCFile$Reader.init(RCFile.java:1269)位于 org.apache.hadoop.hive.ql.io.RCFile$Reader.(RCFile.java:1154) 在 org.apache.hadoop.hive.ql.io.RCFile$Reader.(RCFile.java:1133) 在 org.apache.hadoop.hive.ql.io.RCFileRecordReader.(RCFileRecordReader.java:102) 位于Application.main(Application.java:106)


请帮助

可能重复我检查了你提到的问题,我没有得到JobConf作业可能的价值
FileInputStream inputStream = new FileInputStream("C:/Users/Desktop/fold/xyz.rc");
try {
    String str = IOUtils.toString(inputStream);
    System.out.println(str);
} finally {
    inputStream.close();
}