public class InputStreamTest {
public static void main(String[] args) throws IOException{
byte[] data = { 72, 101, 108, 108, 111, 33 };
try (InputStream input = new ByteArrayInputStream(data)) {
String s = readAsString(input);
System.out.println(s);
}
//读文件,将文件以二进制形式读取出来
try(InputStream input2=new FileInputStream("d:/iotest/test1.txt"))
{
int n;
byte[] buffer=new byte[1000];//定义一个1000大小的缓冲区,这个时候会返回读取的字节数
while((n=input2.read(buffer))!=-1)
{
System.out.println(n);
}
/*
* 这种方法可以读出所有字符的ASCII码
while((n=input2.read())!=-1)
{
System.out.println(n);
}*/
}
}
public static String readAsString(InputStream input) throws IOException {
int n;
StringBuilder sb = new StringBuilder();//创建一个字符串,这个字符串是可以变长的,但是线程不安全
while ((n = input.read()) != -1) {
sb.append((char) n);//将ASCII码转化成char类型插入到字符串中
}
return sb.toString();//将StringBuilder转换成String类型
}
}
每日练习0303
最新推荐文章于 2024-06-20 20:20:21 发布