首页 > 其他分享 >从InputStream流中从指位置截取指定长度的流

从InputStream流中从指位置截取指定长度的流

时间:2022-11-18 18:08:34浏览次数:45  
标签:fis int 截取 流中 InputStream printStackTrace new FileInputStream data

demo01

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();
}

}
}

demo02

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();
}

}
}

标签:fis,int,截取,流中,InputStream,printStackTrace,new,FileInputStream,data
From: https://www.cnblogs.com/liftsail/p/16904110.html

相关文章