如何使用fileoutputstream写入数字

时间:2016-03-28 22:02:19

标签: java

我是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

1 个答案:

答案 0 :(得分:2)

您在最后一行中使用的此方法java.io.FileOutputStream.write(byte[] b)将获取一个字节数组作为参数。

因此,您应首先将integer转换为string,然后再致电getBytes

fos.write(String.valueOf(resultstweets).getBytes());

您可以找到使用此方法的正确示例here