java如何读取指定行的数据

比如
Class.forName("com.mysql.jdbc.Driver");
Connection conn=DriverManager.getConnection(dbURL,userID,passwd);
String sql1="select row from zero where name='11.jpg'";

Statement stmt=conn.createStatement();
stmt.executeQuery(sql1);
我想System.out.println(row);

读取文件指定行要用到类LineNumberReader,它是跟踪行号的缓冲字符输入流,其基类是BufferedReader。。它有两个构造方法
public LineNumberReader(Reader in)
使用默认输入缓冲区的大小创建新的行编号 reader,默认输入缓冲区的大小为8096个字节。
pulbic LineNumberReader(Reader in,int size)
创建新的行编号 reader,将字符读入给定大小的缓冲区。
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
public class ReadSelectedLine{
/**
* 读取文件指定行。
*/
public static void main(String[] args) throws IOException {
// 指定读取的行号
int lineNumber = 12;
// 读取文件
File sourceFile = new
File("src/Chapter08/ReadSelectedLine.java");
// 读取指定的行
readAppointedLineNumber(sourceFile, lineNumber);
// 获取文件的内容的总行数
System.out.println(getTotalLines(sourceFile));
}
// 读取文件指定行。
static void readAppointedLineNumber(File sourceFile, int lineNumber)
throws IOException {
FileReader in = new FileReader(sourceFile);
LineNumberReader reader = new LineNumberReader(in);
String s = reader.readLine();
if (lineNumber < 0 || lineNumber > getTotalLines(sourceFile)) {
System.out.println("不在文件的行数范围之内。");
}
{
while (s != null) {
System.out.println("当前行号为:"
+ reader.getLineNumber());
reader.setLineNumber(20);
System.out.println("更改后行号为:"
+ reader.getLineNumber());
System.out.println(s);
System.exit(0);
s = reader.readLine();
}
}
reader.close();
in.close();
}
// 文件内容的总行数。
static int getTotalLines(File file) throws IOException {
FileReader in = new FileReader(file);
LineNumberReader reader = new LineNumberReader(in);
String s = reader.readLine();
int lines = 0;
while (s != null) {
lines++;
s = reader.readLine();
}
reader.close();
in.close();
return lines;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-19
得到返回的ResultSet 然后直接 re.next()确认有下一条记录并且指向第一条数据,然后就能输出结果了。如

ResultSet re=stmt.executeQuery(sql1);
if(re.next())

System.out.println(re.getString(1));
System.out.println(re.getString(“row”));
如果不知一条就用while循环。本回答被提问者和网友采纳
第2个回答  2013-01-19
要么你给db里表添加编号,编号用一个触发器生成,当表发生了增加或者删除,就重新给表编号。要么你用游标循环拿数据。要么你用select * from xxx fetch No. row 。最后一种语法不是所有的DB都支持。
第3个回答  2013-01-19
用分页做,只不过分页大大小为1行!来自:求助得到的回答
第3个回答  2013-01-19
readline()
相似回答