package IoDemo;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
/**
* @Title:ByteStreamDemo
* @Description:字节输出流输入流 :
* 1.输出流:超类OutputStream,对文件的输出流使用子类FileOutputStream
* 2.输入流:超类InputStream,对文件的输入流使用子类FileInputStream
* @author Crazy-ZJ
* @data 2017年9月22日上午10:29:53
* @book 疯狂java讲义(第三版):
*/
public class ByteStreamDemo {
public static void in(){
//1.确定目标文件
File file =
new File("F:\\test\\test.txt"
);
//2.构建一个文件输入流对象
try {
InputStream in =
new FileInputStream(file);
byte[] bytes =
new byte[1024
];
StringBuilder buf =
new StringBuilder();
int len = -1;
//表示每次读取的字节长度
//把数据读入到数组中,并返回读取的字节数,当不等于-1时,表示读取到数据,等于-1表示文件已经读取完
while((len = in.read(bytes))!=-1){
//int read(byte[] b)从该输入流读取最多 b.length个字节的数据为字节数组 此方法返回的是一个长度,例如bytes只用了5 那么len的值也就是5
//根据读取到的字节数组,再转换为字符串内容,添加到StringBuilder中
buf.append(
new String(bytes));
}
//打印读取到的内容
System.out.println(buf);
//关闭流
in.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void out(){
//1.确定目标文件
File file =
new File("F:\\test\\test.txt"
);
//2.构建一个文件输出流对象
try{
OutputStream out =
new FileOutputStream(file,
true);
//append为true表示追加内容
//3.输出的内容
String info = "东软要垮了!!\r\n"
;
String line = System.getProperty("line.separator");
//获取换行符
//4.把内容写到文件中
out.write(info.getBytes());
//5.关闭流
out.close();
System.out.println("Write success..."
);
}catch (FileNotFoundException e){
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
}
public static void main(String[] args){
// out();
in();
}
}
转载于:https://www.cnblogs.com/zj-phper/p/7602492.html