一、javaSE (二十)递归、IO流、自学字符流

1:递归(理解)

(1)方法定义中调用方法本身的现象

举例;老和尚給小和尚讲故事,我们学编程

(2)递归的注意事项;

A:要有出口,否则就是死递归

B:次数不能过多,否则内存溢出

C:构造方法不能递归使用

(3)递归的案例

A:递归求阶乘

B:兔子问题

C:递归输出指定目录下所有指定后缀名的文件绝对路径

D:递归删除带内容的目录(小心使用)

2:IO流(掌握)

(1);O用于在设备间进行数据传输的操作

(2)分类

A:流向

输入流     读取数据

输出流     写出数据

B:数据类型

字节流

字节输入流

字节输出流

字符流

字符输入流

字符输出流

注意:

a:如果我们没有明确说明按照什么分,默认按照数据类型分

b:除非文件用 windows自带的记事本打开我们能够读懂,才采用字符流,否则建议使用字节流

(3)Fi1eOutputOtream写出数据

A:操作步骤

a:创建字节输出流对象

b:週用 write()方法

B:代码体现

FileOutputStream fos = new FileOutputStream("fos.txt ");

fos.write("he11O".getbytes());

fos.close();;

C:要注意的问题

a:创建字节输出流对象做了几件事情?

b:为什么要c1ose()?

c:如何实现数据的换行?

d:如何实现数据的追加写入?

(4)Fi1eInputStream读取数据

A:操作步骤

a:创建字节输入流对象

b:调用read()方法

c:释放资源

B:代码体现

Fi1eInputStream fis= new Fi1eInputStream("fos. txt ");

//方式1

int by = 0;

while((by=fis.read())!=-1){

System.out.print((char)by);

}

//方式2

Byte[] bys = new byte[1024];

int len =0;

while( (len=fis.read (bys))!=-1){

Systen.out.print(new String(bys,0,len));

}

(5)案例:2种实现

A:复制文本文件

B:复制图片

c:复制视频

(6)字节缓冲区流

A: BufferedOutputStream

B: BufferedInputStream

(7)案例:4种实现

A:复制文本文件

B:复制图片

C:复制视频

3:自学字符流

IO流分类

字节流

InputStream

FileInputStream

BufferedInputStream

OutputStream

FileOutputStream

BufferedOutputStream

字符流

Reader

FileReader

BufferedReader

Writer

FileWriter

BufferedWriter

原文地址:https://www.cnblogs.com/zhangchengbing/p/8280377.html

时间: 2024-10-11 18:57:55

一、javaSE (二十)递归、IO流、自学字符流的相关文章

JAVA之旅(二十五)——文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine

JAVA之旅(二十五)--文件复制,字符流的缓冲区,BufferedWriter,BufferedReader,通过缓冲区复制文件,readLine工作原理,自定义readLine 我们继续IO上个篇幅讲 一.文本复制 读写都说了,我们来看下其他的操作,我们首先来看复制 复制原理:其实就是将C盘下的文件数据存储到D盘的一个文件中 实现的步骤: 1.在D盘创建一个文件,用于存储文件中的数据 2.定义读取流和文件关联 3.通过不断的读写完成数据的存储 关闭资源 package com.lgl.hel

JAVA之旅(二十四)——I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习

JAVA之旅(二十四)--I/O流,字符流,FileWriter,IOException,文件续写,FileReader,小练习 JAVA之旅林林总总也是写了二十多篇了,我们今天终于是接触到了I/O了.如果你初学,不懂IO流,你可以从前往后慢慢看,但是你工作了一段时间你会发现,流的使用场景以及技术点是非常的强硬的,我们势必要掌握这个知识点,如果你觉得翻阅API比较鼓噪,看视频得不到精髓,看书看不到要点,你就跟随我的JAVA之旅,一起去探索吧! 一.I/O概述 I/O全名:Input Output

JAVA IO 字节流与字符流

文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.       IO框架 从上图我们可以看出IO可以分为两大块 字节流和字符流 字节流是 InputStream 和 OutputStream 分别对应输入与输出 字符流是Reader和Writer分别对应输入与输出        ByteArrayInputStream  它字节数组输入流.继承于InputS

io系列之字符流

java中io流系统庞大,知识点众多,作为小白通过五天的视频书籍学习后,总结了io系列的随笔,以便将来复习查看. 本篇为此系列随笔的第一篇:io系列之字符流. IO流 :对数据的传输流向进行操作,java中将这种操作行为本身封装为对象,以供使用. Input and Output java将io流对象都在IO包中.(java.IO.*) 分类: 按照数据种类分: 字节流 和 字符流, 按照数据流向分: 输出流 和 输入流. 字节流抽象类: InputStream OutputStream 字符流

黑马程序员——Java基础--IO流(一)---字符流和字节流

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.IO流的介绍及体系 IO流用来处理设备之间的数据传输.java对数据的操作是通过流的方式.java用于操作流的对象都在IO包中. 输入流和输出流相对于内存设备而言:将外设中的数据读取到内存中:输入.将内存中的数据写出到外设中:输出. 流按照操作数据分为两种:字节流和字符流. 字符流的由来:其实就是字节流读取文字字节数据后,不直接操作而是先查指定的编码表,获取对应的文字,再对这个文字进行操作

《条目二十九:对于逐个字符的输入请考虑istreambuf_iterator》

<条目二十九:对于逐个字符的输入请考虑istreambuf_iterator> 1.使用: ifstream inputfile("xxxx"); string fileDate((istream_iterator<char>(inputfile)), istream_iterator<char>()); 在流输入的时候遇到空格就跳过,也就是不会读入空格字符. 2.原因: istream_iterator使用operator>>来完成这个

java io流(字符流) 文件打开、读取文件、关闭文件

java io流(字符流) 文件打开 读取文件 关闭文件 //打开文件 //读取文件内容 //关闭文件 import java.io.*; public class Index{ public static void main(String[] args) throws Exception{ //打开文件 //字符流方式打开 //字符流每次按一个字符读取 FileReader wj = new FileReader("D:/java/kj/javanew/src/Index.java"

Java IO 字节流与字符流 (三)

Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字符流操作的最小单位则是字符.可以先看一下IO流的概述: 下面首先是通过字符流对文件进行读取和写入: 1 package lib; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileNotFou

java基础(二十)IO流(三)

这里有我之前上课总结的一些知识点以及代码大部分是老师讲的笔记 个人认为是非常好的,,也是比较经典的内容,真诚的希望这些对于那些想学习的人有所帮助! 由于代码是分模块的上传非常的不便.也比较多,讲的也是比较清晰的!如果你有需要可以在评论中留下您的邮箱我看到一定会免费发给你的!感谢这个平台让我们大家共同进步吧!! 记住 程序员是无私的!!! 也非常欢迎到我的博客内观看 博客地址:http://www.cnblogs.com/duscl/ /* 1:字符流(掌握) (1)字节流操作中文数据不是特别的方