Java:在Byte Stream中循环

时间:2015-11-14 22:09:14

标签: java file-io while-loop

有人可以解释为什么循环检查条件是否不同于-1?

Connection con = DBConnectionClass.myConnection();
        PreparedStatement ps = con.prepareStatement("SELECT * FROM Customer");
      //as an example consider a table named Customer in your DB.
        ResultSet rs = ps.executeQuery();
        System.out.println(getJSONFromResultSet(rs, "customer"));

3 个答案:

答案 0 :(得分:6)

请参阅:http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayInputStream.html#read()

当没有更多字节要读取时,read方法返回-1

答案 1 :(得分:3)

Java中的循环在条件部分中需要boolean子句。

c = in.read()评估为int而不是boolean。因此,您需要将其与某个值(在您的情况下为-1)进行比较,以指示不再需要读取的字节数,从而生成boolean值作为停止条件。

答案 2 :(得分:2)

read

当到达流末尾时,read方法返回-1。条件将c的返回值赋给c,并检查var es6Promise = require('es6-promise').Promise; // es6-promise asap should schedule microtasks via zone.scheduleMicrotask so that any // user defined hooks are triggered es6Promise._setAsap(function(fn, arg) { global.zone.scheduleMicrotask(function() { fn(arg); }); }); 是否不为-1。如果为-1,则到达流的末尾,否则不到。