史上最全IO框架二(字节流)
2016-07-18 11:38
176 查看
package com.itheima.filedemo;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
* 字节输出流OutputStream(抽象类)
* @author Administrator
*
*/
public class OutputStreamDmeo {
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/**
* 字节输入流(读文件)
* @author Administrator
*
*/
public class InputStreamDemo {
}
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
字节输出流OutputStream(写文件)
/*** 字节输出流OutputStream(抽象类)
* @author Administrator
*
*/
public class OutputStreamDmeo {
public static void main(String[] args) { // TODO Auto-generated method stub write1(); write2(); } /** * 字节输出流的方式一:每次一个字节:一个字节一个字节的输出 */ public static void write1(){ //创建一个文件输出流对象 try { OutputStream out = new FileOutputStream("E:\\1.txt");//可以传入一个File对象也可以掺入指定的路径; String info = "hello world"; //把字符串转换成字节数组 byte[] bytes = info.getBytes(); for (int i = 0; i < bytes.length; i++) { out.write(bytes[i]); } //关闭流 out.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 字节流的输出方式二:每次输出指定大小的字节 */ public static void write2(){ try { OutputStream out = new FileOutputStream("E:\\1.txt", true);//true 为追加输出 String info = "one car come,one car go,two car pengpeng,one car die!"; byte[] bytes = info.getBytes(); //输出字节数组 out.write(bytes);//把所有的内容写入文件 //out.write(bytes, 0, 5);//输出一个字节数组中的指定范围的字节; out.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
字节输入流InputStream(读文件)
package com.itheima.filedemo;import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
/**
* 字节输入流(读文件)
* @author Administrator
*
*/
public class InputStreamDemo {
public static void main(String[] args) { // TODO Auto-generated method stub //read1(); //read2(); read3(); } /** * 字节流的读取方式一:每次读取一个字节 */ public static void read1(){ try { //构造一个字节输入流对象 InputStream in = new FileInputStream("E:\\1.txt"); int b = -1;//初始值定义为-1 //其中的read方法为一个字节一个字节的读,返回的是0-255之间的数字,没有数据表示返回-1; while ((b = in.read()) != -1) { System.out.print((char)b);//把读取的数组转化为字符 } } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 字节流的读取方式二:一次性读取所有的字节 */ public static void read2(){ try { //构造一个文件对象 File f = new File("E:\\1.txt"); //构造一个字节输入流对象 InputStream in = new FileInputStream(f); //根据文件的大小构造一个字节数组和文件的大小一模一样,构造一个和文件大小一样的车(bytes) byte[] bytes = new byte[(int) f.length()]; //读取文件(装车) int len = in.read(bytes); //把字节转换成字符输出 System.out.println(new String(bytes)); //输出文件的大小 System.out.println("文件的大小为:" + len); in.close(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * 字节输出流的读取方式三:每次读取指定大小的字节 */ public static void read3(){ try { //创造一个文件对象 File f = new File("E:\\1.txt"); //构造一个文件输入流对象 InputStream in = new FileInputStream(f); //指定每次要读取的大小(车的大小) byte[] bytes = new byte[10]; //每次读取的实际长度 int len = -1; //构造一个sb可以追加的容器 StringBuilder sb = new StringBuilder(); while ((len = in.read(bytes)) != -1) { //把车中的实际内容(可能不满一车)转换成字符串追加到容器中 sb.append(new String(bytes, 0, len)); } //关闭流 in.close(); //输出sb中的内容 System.out.print(sb); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
相关文章推荐
- C#将图片和字节流互相转换并显示到页面上
- Ajax发送和接收二进制字节流数据的方法
- Java字符流与字节流区别与用法分析
- 深入解析Java编程中面向字节流的一些应用
- 详解Java中字符流与字节流的区别
- java实现将字符串转化为二进制输出
- IO流(三)_File类_字节流与字符流
- IO应用
- 字节流与字符流
- 黑马程序员--------java IO流 Reader、Writer、InputStream、OutputStream
- 黑马程序员-java自学笔记02之IO字节流写入和读取
- Java的字节流和字符流
- 黑马程序员 IO流-->字节流
- InputStream与OutputStream
- 使用字节流实现媒体文件的复制
- java字节流与字符流之文件复制
- InputStream 和 Reader(字节流和字符流)
- JavaIO流--字节流
- 黑马程序员————IO流详解---(1)
- 黑马程序员 知识点总结-Java IO(三)字节流