我是java的新手,我需要定义计数器然后将结果写入文件
int counter=0;
int resultstweets=0;
fos = new FileOutputStream(new File(
prop.getProperty("PATH_TO_OUTPUT_FILE")));
BufferedReader br = new BufferedReader(new FileReader("path/of/file"));
while ((tweetJson = br.readLine()) != null) {
String result = drpc.execute(TOPOLOGY_NAME, tweetJson);
Status s = null;
try {
s = DataObjectFactory.createStatus(tweetJson);
result = s.getId() + "\t" + s.getText() + "\t" + result;
// this is my counter
resultstweets+=counter;
} catch (TwitterException e) {
LOG.error(e.toString());
}
fos.write(result.getBytes());
fos.write(newLine);
}
fos.write(newLine);
fos.write("Finish: ".getBytes());
fos.write("resultstweets".getBytes());
fos.write(newLine);
// here i write it in the file
fos.write(resultstweets);
但是我在文件末尾得到了什么
Finish: resultstweets
**\001**459202139258
答案 0 :(得分:2)
您在最后一行中使用的此方法java.io.FileOutputStream.write(byte[] b)
将获取一个字节数组作为参数。
因此,您应首先将integer
转换为string
,然后再致电getBytes
:
fos.write(String.valueOf(resultstweets).getBytes());
您可以找到使用此方法的正确示例here。