gpt4 book ai didi

java hadoop : FileReader VS InputStreamReader

转载 作者:可可西里 更新时间:2023-11-01 16:55:27 26 4
gpt4 key购买 nike

我想在 hadoop hdfs 上使用我的 java 类,现在我必须重写我的函数。问题是,如果我使用 InputStreamReader,我的应用会读取错误的值。

这是我的代码(所以它的工作,我想使用未注释的代码部分):

public static GeoTimeDataCenter[] readCentersArrayFromFile(int iteration) {
Properties pro = new Properties();
try {
pro.load(GeoTimeDataHelper.class.getResourceAsStream("/config.properties"));
} catch (Exception e) {
e.printStackTrace();
}
int k = Integer.parseInt(pro.getProperty("k"));
GeoTimeDataCenter[] Centers = new GeoTimeDataCenter[k];
BufferedReader br;
try {
//Path pt=new Path(pro.getProperty("seed.file")+(iteration-1));
//FileSystem fs = FileSystem.get(new Configuration());
//br=new BufferedReader(new InputStreamReader(fs.open(pt)));
br = new BufferedReader(new FileReader(pro.getProperty("seed.file")+(iteration-1)));
for(int i =0; i<Centers.length; i++){
String[] temp = null;
try{
temp = br.readLine().toString().split("\t");
Centers[i] = new GeoTimeDataCenter(Integer.parseInt(temp[0]),new LatLong(Double.parseDouble(temp[1]),Double.parseDouble(temp[2])),Long.parseLong(temp[3]));
}
catch(Exception e) {
temp = Seeding.randomSingleSeed().split("\t");
Centers[i] = new GeoTimeDataCenter(i,new LatLong(Double.parseDouble(temp[0]),Double.parseDouble(temp[1])),DateToLong(temp[2]));
}
}
br.close();
} catch (IOException e) {
e.printStackTrace();
}
return Centers;
}

也许有人知道这个问题?

最好的问候

最佳答案

我找到问题了。我有一个校验和异常。现在我从输入文件中删除所有 .crc 文件。通过这种方式,我没有得到校验和异常,并且缓冲读取器工作正常(未注释的代码部分,楼上)。

关于java hadoop : FileReader VS InputStreamReader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30531737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com