IO包最重要的五个类和一个接口

File/OutputStream/InputStream(字节流)/Writer/Reader(字符流)

一个接口:Serializable

 

File类:

字节流:

OutputStream与InputStream是抽象类

OutputStream是整个IO包中。字节输出流的最大类

FileOutputStream是一个子类,通经常使用整个子类通过多态实例化OutputStream

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZ29vZGh1YWp1bg==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

 

 

packageiotest;

 

importjava.io.File;

importjava.io.FileNotFoundException;

importjava.io.IOException;

importjava.io.OutputStream;

importjava.io.FileOutputStream;

importjava.io.InputStream;

importjava.io.FileInputStream;

 

publicclass OutputStreamDemo1 {

public static void main(String args[]) throws Exception{

File f =newFile("D:"+File.separator+"javasrc"+File.separator+"write_file.txt");

OutputStream o=null;

o=new FileOutputStream(f);

String s="Hello World!";

byte b[]=s.getBytes();

o.write(b);

o.close();

//改动文件 追加文件内容

OutputStream o1=null;

o1=new FileOutputStream(f,true);

o1.write("\r\n".getBytes()); //添加换行符

o1.write(b);

o1.close();

 

//读取并打印文件

//01 定义一个字节数组 长度为1024

InputStream in1=null;

in1=new FileInputStream(f);

byte b1[]=new byte[1024];

int len=in1.read(b1);

in1.close();                

print(b1,len);

 

//02 定义一个字节数组 长度为文件长度

InputStream in2=null;

in2=new FileInputStream(f);

byte b2[]=new byte[(int)f.length()];

in2.read(b2);

in2.close();

print(b2);

 

       //03 已经文件长度 逐个字节读取

      
       InputStream in3=null;

in3=new FileInputStream(f);

byte b3[]=new byte[(int)f.length()];

for (int i=0;i<b3.length;i++){

b3[i]=(byte) in3.read();

}

in3.close();

print("the third read method:");

print(b3);

     

//04 未知文件长度读取

InputStream in4=null;

in4=new FileInputStream(f);

byte b4[]=new byte[1024];

int i=0;

int temp=0;

while ((temp=in4.read())!=-1){

b4[i]=(byte)temp;

i++;

}

in4.close();

print("the fourth read method:");

print(b4);

}

 

public static void print(byte b[],int len){

System.out.println(new String(b,0,len));

}

public static void print(byte b[]){

System.out.println(new String(b));

}

public static void print(String b){

System.out.println(b);

}

 

}

Java学习笔记之 IO包 字节流的更多相关文章

  1. java学习笔记之IO编程—字节流和字符流

    1. 流的基本概念 在java.io包里面File类是唯一一个与文件本身有关的程序处理类,但是File只能够操作文件本身而不能操作文件的内容,或者说在实际的开发之中IO操作的核心意义在于:输入与输出操 ...

  2. java学习笔记之IO编程—打印流和BufferedReader

    1.打印流(PrintWriter) 想要通过程序实现内容输出,其核心一定是要依靠OutputStream类,但是OutputStream类有一个最大缺点,就是这个类中的输出操作功能有限,所有的数据一 ...

  3. java学习笔记之IO编程—File文件操作类

    1. File类说明 在Java语言里面提供有对于文件操作系统操作的支持,而这个支持就在java.io.File类中进行了定义,也就是说在整个java.io包里面,File类是唯一一个与文件本身操作( ...

  4. 【原】Java学习笔记033 - IO

    package cn.temptation; public class Sample01 { public static void main(String[] args) { // 需求:继承关系中爷 ...

  5. Java学习笔记之——IO

    一. IO IO读写 流分类: 按照方向:输入流(读),输出流(写) 按照数据单位:字节流(传输时以字节为单位),字符流(传输时以字符为单位) 按照功能:节点流,过滤流 四个抽象类: InputStr ...

  6. java学习笔记之IO编程—内存流、管道流、随机流

    1.内存操作流 之前学习的IO操作输入和输出都是从文件中来的,当然,也可以将输入和输出的位置设置在内存上,这就需要用到内存操作流,java提供两类内存操作流 字节内存操作流:ByteArrayOutp ...

  7. Java学习笔记-10.io流

    1.输入流,只能从中读取数据,而不能向其写出数据.输出流,只能想起写入字节数据,而不能从中读取. 2.InputStream的类型有: ByteArrayInputStream 包含一个内存缓冲区,字 ...

  8. java学习笔记之IO编程—对象序列化

    对象序列化就是将内存中保存的对象以二进制数据流的形式进行处理,可以实现对象的保存或网络传输. 并不是所有的对象都可以被序列化,如果要序列化的对象,那么对象所在的类一定要实现java.io.Serial ...

  9. java学习笔记之IO编程—目录和文件的拷贝

    进行文件或目录的拷贝时,要先判断处理对象是文件还是目录,如果是文件则直接拷贝,如果是目录还需要拷贝它的子目录及其文件,这就需要递归处理了 import java.io.*; class FileUti ...

随机推荐

  1. 点击文字弹出一个DIV层窗口代码 【或FORM表单 并且获取点击按钮的ID值】

    点击不同按钮咨询不同的 专家 <?php for($i=1;$i<5;$i++){ $uid=$i; //用户ID ?> <a class="a_click" ...

  2. VC socket api使用引入

    1.在创建项目时勾上windows socket api的使用 2.头文件 #pragma  comment(lib,"WS2_32.lib") 3.初始化 WSADATA dat ...

  3. JS——正则案例

    验证座机号码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...

  4. JS——旋转木马

    1.opacity和zIndex的综合运用 2.样式的数组的替换:向右边滑动---删除样式数组第一位并在数组最后添加:向左边滑动---删除样式数组最后一位并在数组前添加 3.开闭原则,只有当回调函数执 ...

  5. html——细线表格

    细线: 1.table表格设置背景色 2.table中设置单元格距离 3.tr标签设置另外一种背景色 <!DOCTYPE html> <html> <head lang= ...

  6. C#——设置开机启动

    将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项. using Microsoft.Win32; using System.Windows.Forms; static v ...

  7. CNN结构:HSV中的饱和度解析

    参考:颜色的前世今生-饱和度 详解,划重点- 关键这个"纯"是指什么? 是指颜色明亮么?明度高的颜色看起来也明亮啊,不一定纯度高啊- 是说颜色鲜艳么?颜色 "不鲜艳&qu ...

  8. java_File对象

    package File; import java.io.File; import java.io.IOException; public class file { public static voi ...

  9. unable to get system library for the project

    当向eclipse导入项目实例后,项目上出现红叉的错误提示,在项目属性里的Java Build Path里发现了错误提示复选选项: unable to get system library for t ...

  10. Mac 执行 gulp 报错 -bash: gulp: command not found

    在mac系统下安装gulp,之后执行gulp 报如下错误: -bash: gulp: command not found 回溯安装过程发现问题如下 1.执行 npm root: Application ...