可以的。Test.java public class Test { public static void main(String[] args) { try { byte []data = new byte[10]; FileInputStream fis = new FileInputStream("c:\\test.txt"); fis.skip(6); fis.read(data); fis.close();
} } c:\test.txthello,world.wellcome.good job. 执行结果 output:world.well Good Luck.
read(byte[] b, int off, int len) 将最多 len 个数据字节从此输入流读入字节数组。
的确有这个问题。那应该考虑buffer 以下代码解决这个问题。 import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException;public class Test { private final static int BUFFER_SIZE = 10; public static void main(String[] args) { try { int need2read = 22; int probe = 0; byte []data = new byte[BUFFER_SIZE]; FileInputStream fis = new FileInputStream("c:\\test.txt"); fis.skip(6);
一个英文的,一个翻译的:
http://apicode.gicp.net/class.do?api=selectByfatherIndex&father=255
http://apicodecn.gicp.net/class.do?api=selectByfatherIndex&father=255
public class Test {
public static void main(String[] args) {
try {
byte []data = new byte[10];
FileInputStream fis = new FileInputStream("c:\\test.txt");
fis.skip(6);
fis.read(data);
fis.close();
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
c:\test.txthello,world.wellcome.good job.
执行结果
output:world.well
Good Luck.
将最多 len 个数据字节从此输入流读入字节数组。
的确有这个问题。那应该考虑buffer
以下代码解决这个问题。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;public class Test {
private final static int BUFFER_SIZE = 10;
public static void main(String[] args) {
try {
int need2read = 22;
int probe = 0;
byte []data = new byte[BUFFER_SIZE];
FileInputStream fis = new FileInputStream("c:\\test.txt");
fis.skip(6);
while((probe<need2read/BUFFER_SIZE) && (fis.read(data)!=-1)) {
for(int i=0;i<data.length;i++) {
System.out.print((char)data[i]);
}
probe++;
}
//
int overage = need2read%BUFFER_SIZE;
if(overage != 0) {
int ir = fis.read(data,0,overage);
for(int i=0;i< ir;i++) {
System.out.print((char)data[i]);
}
}
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}