方法一:利用循环ResultSet的元素来获得ResultSet的总行数
示例代码如下:
ResultSet rs;
int rowCount = 0;
while(rsetnext()){
rowCount++;
}
方法二:利用sql语句中的count函数获得ResultSet的总行数
示例代码如下:
String sql = "select count() record_ from ( select from yourtable t where tcolumn_ = 'value_' )";
ResultSet rs = psexecuteQuery(sql);
int rowCount = 0;
if(rsnext()){
rowCount=rsgetInt("record_");
}
不用执行select count(),直接用下边的方法,执行你的查询sql。然后通过指针来获取总记录数。
PreparedStatement
stmt = conprepareStatement
(sql,ResultSetTYPE_SCROLL_INSENSITIVE,ResultSetCONCUR_READ_ONLY);//
一定要有ResultSetTYPE_SCROLL_INSENSITIVE这个参数,不然指针不能滚动,下边的afterLast就不能用。
ResultSet rs = stmtexecute();
rsafterLast();//指针指向最后一条记录。
int num = rsgetRow();//获取总记录数。
rsbeforeFirst();//指针重新指向第一条记录。
//下边你可以循环取出你要的记录了。
另外建议多看下api,很多人都是PreparedStatement
stmt = conprepareStatement(sql)写的,其实通过增加ResultSetTYPE_SCROLL_INSENSITIVE参数就可以 通过滚动指针来获取记录数,并且可以直接遍历查询的结果。
话不多说先上代码
Scanner sc = new Scanner(f);
int i = 0, j=0, k=0;
while(schasNext()) {
scnext();
i++;
}
sc = new Scanner(f);
while(schasNextLine()) {
scnextLine();
j++;
}
sc = new Scanner(f);
while(schasNextByte()) {
scnextByte();
k++;
}
Systemoutprintln(i+" "+j+" "+k);
然后区分一下字节和字符的概念,一个字节是一个8位的2进制数,一个字符是'a'、'1'这种
楼主是不是说的统计字符呢
scanner类中并没有统计字符的方法 用filereader貌似方便一点
这是只是提供一个思路,多查api文档,多用google,这类问题都不叫问题。
搜到这段代码后,我表示很惭愧
public class Test {
public static void main(String[] args) throws Exception{
Scanner input=new Scanner(Systemin);
Systemoutprintln("请输入路径");
String path=inputnext();
int charNum= 0 ;
int wordsNum= 0;
int lineNum = 0;
InputStreamReader isr = new InputStreamReader(new FileInputStream(path));
BufferedReader br = new BufferedReader(isr);
while( brread()!= -1){
String s = brreadLine();
charNum+=slength();
wordsNum +=ssplit(" ")length;
lineNum ++;
}
isrclose();//关闭
Systemoutprintln("字符数:"+charNum+"\t单词数:"+wordsNum+"行 数:"+lineNum);
}
}
java读取txt文件内容,可以作如下理解:
1、首先获得一个文件句柄。File file = new File(); file即为文件句柄。两人之间连通电话网络了,接下来可以开始打电话了;
2、通过这条线路读取甲方的信息:new FileInputStream(file) 目前这个信息已经读进来内存当中了。接下来需要解读成乙方可以理解的东西;
3、既然使用了FileInputStream()。那么对应的需要使用InputStreamReader()这个方法进行解读刚才装进来内存当中的数据;
4、解读完成后就要输出,那么要转换成IO可以识别的数据。那就需要调用字节码读取的方法BufferedReader(),同时使用BufferedReader()的readline()方法读取txt文件中的每一行数据。
参考代码如下:
package comcampu;
import javaioBufferedInputStream;
import javaioBufferedReader;
import javaioFile;
import javaioFileInputStream;
import javaioInputStreamReader;
import javaioReader;
/
@author 码农小江
H20121012java
2012-10-12下午11:40:21
/
public class H20121012 {
/
@param filePath
/
public static void readTxtFile(String filePath){
try {
String encoding="GBK";
File file=new File(filePath);
if(fileisFile() && fileexists()){ //判断文件是否存在
InputStreamReader read = new InputStreamReader(
new FileInputStream(file),encoding);//考虑到编码格式
BufferedReader bufferedReader = new BufferedReader(read);
String lineTxt = null;
while((lineTxt = bufferedReaderreadLine()) != null){
Systemoutprintln(lineTxt);
}
readclose();
}else{
Systemoutprintln("找不到指定的文件");
}
} catch (Exception e) {
Systemoutprintln("读取文件内容出错");
eprintStackTrace();
}
}
public static void main(String argv[]){
String filePath = "L:\\Apache\\htdocs\\res\\20121012txt";
// "res/";
readTxtFile(filePath);
}
}
以上就是关于java中如何获取ResultSet rs结果集中的条数全部的内容,包括:java中如何获取ResultSet rs结果集中的条数、java web项目,怎么获得数据库的返回条数、java 读取文件 并计算文件的字节数,单词数和行数 求高人指点,谢谢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)