java基础学习笔记之IO流

1.IO流用来处理设备之间的数据传输
方向:硬盘通过“读reader”完成对内存的读取,内存通过“写writer”完成对硬盘的写入
2.Java对数据的操作是通过流的方式
3.Java用于操作流的对象都在IO包中
4.流按操作数据分为两种:字节流和字符流
--字符流的由来:
》》字节流读取文字字节数据后,不直接操作而是先查指定的编码表。获取对应的文字。再对这个文字进行操作。简单说:字符流=字节流+编码表
--字节流的两个顶层父类:1.InputStream 2.OutputStream
--字符流的两个顶层父类:1.Reader 2.Writer
--字符流:

》》要操作文字数据,优先考虑字符流

》》而且要将数据从内存写到硬盘上,要使用字符流中的输出流。Writer

-操作文件的关键字为FileWriter,用于写入数据流。具体格式:FileWriter fw=new FileWriter(“demo.txt”,true);这是目标文件名,创建对象时会抛出个异常IOexception,这是因为文件名或许没有正确的路径,会不安全。如果路径文件不存在,则自动创建,如果存在,则会覆盖

小细节:在java里实现换行操作可以用\r,或者用LINE_SEPARATOR创建变量,调用System方法

此处代码

public class IOExceptionDemo {

    private static final String LINE_SEPARATOR = System.lineSeparator();

    public static void main(String[] args) {

        FileWriter fw = null;
        try {

            fw = new FileWriter("demo.txt", true);

            fw.write("abcde" + LINE_SEPARATOR + "hahaha");

        } catch (IOException e) {
            System.out.println(e.toString());
        } finally {
            if (fw != null)
                try {
                    fw.close();
                } catch (IOException e) {

                    throw new RuntimeException("关闭失败");
                }
        }
    }

}

这是重点,FileWriter处理异常的方式!!很重要

读取字符数据的关键字FileReader,具体格式 FileReader fr=new FileReader(“demo.txt”);必须保证文件是存在的,再调用read方法读取

read读取方法有两种方式:

public class Test11 {

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

        FileReader fr=new FileReader("demo.text");

        int ch=fr.read();

        System.out.println(ch);

        fr.close();
    }

}

这是方式一,挨个字符读取文件内的字符

public class Test11 {

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

        FileReader fr=new FileReader("demo.text");

        char[] buf=new char[3];
        int num=fr.read(buf);//将读取到的字符存储到数组中
        System.out.println(num+"  "+buf.toString());

        int num1=fr.read(buf);//将读取到的字符存储到数组中
        System.out.println(num+"  "+buf.toString());

        int num2=fr.read(buf);//将读取到的字符存储到数组中
        System.out.println(num+"  "+buf.toString());
    }

}

这是方式二,

两者的区别是方式2可以一次读取多个,方式1读取1个字符。

方式2有个细节就是当数组定义为3个时,每次重新读取的时候都放在同一个数组中,所以要覆盖先前读取的数据,然后输出的结果会覆盖,这个要注意!!!!

在这再说说复制的实现过程:

原理:读取c盘文件中的数据,然后再写入d盘文件中,连读带写

5.流按流向分为:输入流,输出流

时间: 2024-10-13 17:38:15

java基础学习笔记之IO流的相关文章

黑马程序员--Java基础学习笔记【IO流-字节流、转换流】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- IO 流 常用基类 字节流 InputStreamOutputStream 常用方法 int read() // 读取一个字节,以 int 形式返回 intread(byte[] b) // 读取最多数组长度个字节并存入该数组,返回实际读取字节 void write(int d) // 写出一个字节 voidwrite(byte[] d) // 将给定字节数组中的所有字节全部写出 void w

Java基础学习笔记

File 的高级获取功能 String[] list() 返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录 示例 import java.io.File; class FileDemo9 { public static void  main(String[] args) { //获取E:下所有目录或者文件名称 File file=new  File("E:\\");//1.构建文件对象 String[]  fileNames=file.list();//2.获取E

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

JAVA基础学习笔记(1)

今天第一天开始学JAVA,时间:2014年6月17日 学习内容:1.java环境的架设 2.JAVA基本数据类型 1.JAVA环境的架设       1.要先去下载JDK,下载地址 2.安装完成后,设置环境变量 1.1环境变量的设置        1.右键-我的电脑-属性-高级-环境变量-系统变量,找到PATH,在里面加入jdk里bin目录的地址 如:c:\java\bin; 2.新建-名为classpath,值为. 1.2测试JAVA是否配置正确        1.在cmd里面输入javac.

java基础学习笔记day01

java基础学习笔记day01 1.软件开发: 软件:按照特定顺序组织的计算机数据和指令的集合 开发:软件的制作过程 软件开发:借助开发工具和计算机语言制作软件 2.java概述: java之父:詹姆斯·高斯林 JDK:java开发环境 jre:java运行环境 JVM:java虚拟机 java跨平台是因为,JVM能在不同的平台运行,JVM是跨平台的 JavaSE:标准版 JavaME:手机端,物联网 JavaEE:企业版,互联网项目 3.java语言特点: 简单性 解释性 面向对象 高性能 分

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

[java基础学习笔记]Java8SE开发环境搭建、第一个Java Hello World、Java程序的编译与执行

本文作者:sushengmiyan 本文地址:http://blog.csdn.net/sushengmiyan/article/details/25745945 主要内容: ---------------------------------------------------| 1.JDK的下载与安装                            | 2.编写第一个java程序HelloWorld     | 3.编译执行HelloWorld                      

Java基础知识强化之IO流笔记17:FileOutputStream构造方法使用

1. 可以参照之前写的笔记:   Android(java)学习笔记167:Java中操作文件的类介绍(File + IO流) 2. FileOutputStream(常用的)构造方法: FileOutputStream(File file)           Constructs a new FileOutputStream on the File file. FileOutputStream(String filename)           Constructs a new FileO

Java基础学习笔记二十 IO流

转换流 在学习字符流(FileReader.FileWriter)的时候,其中说如果需要指定编码和缓冲区大小时,可以在字节流的基础上,构造一个InputStreamReader或者OutputStreamWriter,这又是什么意思呢? OutputStreamWriter类 查阅OutputStreamWriter的API介绍,OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节.它的作用的就是,将字符串按照指定的编码表转成字节,