首先,我有几个小时的Java经验,如果它有点简单的问题,抱歉。
现在,我想读取一个文件,但我不想从文件的开头开始,而是想先跳过1024个字节而不是开始阅读。有没有办法做到这一点 ?我意识到RandomAccessFile可能有用,但我不确定。
try {
FileInputStream inputStream=new FileInputStream(fName);
// skip 1024 bytes somehow and start reading .
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 0 :(得分:4)
您需要使用FileInputStream.skip
方法寻找您想要的点,然后从该点开始阅读。关于FileInputStream
的javadocs中有更多您可能感兴趣的信息。
答案 1 :(得分:0)
你可以使用像skipBytes()这样的方法
/**
* Read count bytes from the InputStream to "/dev/null".
* Return true if count bytes read, false otherwise.
*
* @param is
* The InputStream to read.
* @param count
* The count of bytes to drop.
*/
private static boolean skipBytes(
java.io.InputStream is, int count) {
byte[] buff = new byte[count];
/*
* offset could be used in "is.read" as the second arg
*/
try {
int r = is.read(buff, 0, count);
return r == count;
} catch (IOException e) {
e.printStackTrace();
}
return false;
}