文件与IO-字节输入/输出
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(); } }
拼了命、尽了兴