方式一(适合较小的数据的转化):
public static String stream2String(InputStream is) {
//在读取的过程中,将读取到的内容存储到缓存中,然后一次性的转化成字符串并且返回
ByteArrayOutputStream bos = new ByteArrayOutputStream();
//读流的操作,一直读读到没有为止
byte[] buffer= new byte[1024];
int temp=-1;
try {
while((temp=is.read(buffer))!=-1){
bos.write(buffer,0,temp);
}
return bos.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
bos.close();
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
方式二:
public class TestIO {
public static void main(String[] args) throws IOException {
FileInputStream fis = new FileInputStream("c:/abc.txt");// 字节流
InputStreamReader isr = new InputStreamReader(fis);// 字符流
BufferedReader br = new BufferedReader(isr);// 缓冲流
String str = null;
if ((str = br.readLine()) != null) {
System.out.println(str);
}
br.close();
isr.close();
fis.close();
}
}
public class TestIO {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("c:/abc.txt");
BufferedReader br = new BufferedReader(fr);// 缓冲流
String str = null;
if ((str = br.readLine()) != null) {
System.out.println(str);
}
fr.close();
br.close();
}
}