递归和IO
来源:互联网 发布:淘宝客服在家上班 编辑:程序博客网 时间:2024/06/15 15:29
1:递归(理解)
(1)方法定义中调用方法本身的现象被称为递归。
举例:老和尚给小和尚讲故事
我们学编程
(2)递归的注意事项:
A:递归一定要有出口,否则就是死递归。
B:递归的次数不能过多,否则内存溢出。
构造方法不能递归调用。
(3)案例:(理解)
A:递归求阶乘
B:兔子问题
C:获取指定目录下所有指定后缀名称的文件全路径
D:删除带内容的目录
2:IO(字符流 掌握)
(1)IO流的分类:
IO流:
按流向:
输入流 读取数据
输出流 写入数据
按操作的数据类型:
字节流
字符流
如果能够用记事本打开并读懂的,就用字符流,
其他的,全部使用字节流。
一般来说,如果没有限定,别人问IO流的分类,指定的是字节流和字符流。
(2)IO流的四个基本类
A:字节流
输入流
InputStream
|--FileInputStream
输出流
OutputStream
|--FileOutputStream
B:字符流
输入流
Reader
|--FileReader
输出流
Writer
|--FileWriter
(3)字符输出流:字符输出流操作步骤
A:创建字符输出流对象
FileWriter(String fileName)
FileWriter(File file)
B:调用write方法,并flush()
write(String str)
write(String str,int index,int len)
write(int ch)
write(char[] chs)
write(char[] chs,int index ,int len)
C:释放资源
close()
代码体现:
FileWriter fw = new FileWriter("fw.txt");
fw.write("hello,IO");
fw.flush();
fw.close();
问题?自己补齐
创建字符输出流对象做了几件事情?
写入数据后为什么需要刷新?
最后为什么需要释放资源?
刷新流和关闭流的区别是什么?
怎么实现数据换行?
怎么实现数据追加写入?
(4)字符输入流:字符输入流操作步骤
A:创建字符输入流对象
FileReader(File file)
FileReader(String fileName)
B:调用read()方法
int read()
int read(char[] chs)
C:释放资源
close()
代码体现:
FileReader fr = new FileReader("fw.txt");
//方式1
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
//方式2
char[] chs = new char[1024];
int len = 0;
while((len=fr.read(chs))!=-1)
{
System.out.print(new String(chs,0,len));
}
fr.close();
(5)复制文件(c:\\a.txt 到 d:\\b.txt)
方式1:一次读取一个字符然后一次写入一个字符
FileReader fr = new FileReader("c:\\a.txt");
FileWriter fw = new FileWriter("d:\\b.txt");
int ch = 0;
int count = 0;
while((ch=fr.read())!=-1)
{
fw.write(ch);
if(++count%10000==0)
{
fw.flush();
}
}
fw.close();
fr.close();
方式2:一次读取一个字符数组然后一次写入一个字符数组
FileReader fr = new FileReader("c:\\a.txt");
FileWriter fw = new FileWriter("d:\\b.txt");
char[] chs = new char[1024];
int len = 0;
while((len=fr.read(chs))!=-1)
{
fw.write(chs,0,len);
fw.flush();
}
fw.close();
fr.close();
(1)方法定义中调用方法本身的现象被称为递归。
举例:老和尚给小和尚讲故事
我们学编程
(2)递归的注意事项:
A:递归一定要有出口,否则就是死递归。
B:递归的次数不能过多,否则内存溢出。
构造方法不能递归调用。
(3)案例:(理解)
A:递归求阶乘
B:兔子问题
C:获取指定目录下所有指定后缀名称的文件全路径
D:删除带内容的目录
2:IO(字符流 掌握)
(1)IO流的分类:
IO流:
按流向:
输入流 读取数据
输出流 写入数据
按操作的数据类型:
字节流
字符流
如果能够用记事本打开并读懂的,就用字符流,
其他的,全部使用字节流。
一般来说,如果没有限定,别人问IO流的分类,指定的是字节流和字符流。
(2)IO流的四个基本类
A:字节流
输入流
InputStream
|--FileInputStream
输出流
OutputStream
|--FileOutputStream
B:字符流
输入流
Reader
|--FileReader
输出流
Writer
|--FileWriter
(3)字符输出流:字符输出流操作步骤
A:创建字符输出流对象
FileWriter(String fileName)
FileWriter(File file)
B:调用write方法,并flush()
write(String str)
write(String str,int index,int len)
write(int ch)
write(char[] chs)
write(char[] chs,int index ,int len)
C:释放资源
close()
代码体现:
FileWriter fw = new FileWriter("fw.txt");
fw.write("hello,IO");
fw.flush();
fw.close();
问题?自己补齐
创建字符输出流对象做了几件事情?
写入数据后为什么需要刷新?
最后为什么需要释放资源?
刷新流和关闭流的区别是什么?
怎么实现数据换行?
怎么实现数据追加写入?
(4)字符输入流:字符输入流操作步骤
A:创建字符输入流对象
FileReader(File file)
FileReader(String fileName)
B:调用read()方法
int read()
int read(char[] chs)
C:释放资源
close()
代码体现:
FileReader fr = new FileReader("fw.txt");
//方式1
int ch = 0;
while((ch=fr.read())!=-1)
{
System.out.print((char)ch);
}
//方式2
char[] chs = new char[1024];
int len = 0;
while((len=fr.read(chs))!=-1)
{
System.out.print(new String(chs,0,len));
}
fr.close();
(5)复制文件(c:\\a.txt 到 d:\\b.txt)
方式1:一次读取一个字符然后一次写入一个字符
FileReader fr = new FileReader("c:\\a.txt");
FileWriter fw = new FileWriter("d:\\b.txt");
int ch = 0;
int count = 0;
while((ch=fr.read())!=-1)
{
fw.write(ch);
if(++count%10000==0)
{
fw.flush();
}
}
fw.close();
fr.close();
方式2:一次读取一个字符数组然后一次写入一个字符数组
FileReader fr = new FileReader("c:\\a.txt");
FileWriter fw = new FileWriter("d:\\b.txt");
char[] chs = new char[1024];
int len = 0;
while((len=fr.read(chs))!=-1)
{
fw.write(chs,0,len);
fw.flush();
}
fw.close();
fr.close();
- 递归和IO
- IO流(一):File和递归
- IO流_递归概述和注意事项
- IO流(一)和深入递归
- java.io 递归拷贝
- IO-异常、File、递归
- IO流_递归、IO流总结
- 20. 递归和IO流(字节流和高效字节流)
- JAVA IO的递归调用
- IO(File、递归、Properties)
- 黑马程序员 递归+IO总结
- 递归,IO字符流笔记
- 黑马程序员--IO,递归总结,
- IO流-File对象-递归
- day21<IO流+&FIle递归>
- 黑马程序员————java基础--------IO输入输出之异常、File类和递归
- 【java编程】IO流之File类列出所有文件和目录(递归例子)
- 【java基础:IO】采用递归(recursion)方法的文件和文件夹遍历demonstration
- 集合1
- String和Integer回顾。
- pat1064
- Stones (2013.09.15周赛)
- 美团网2014校招笔试题及解答(长沙站+哈尔滨站)
- 递归和IO
- 百度2014校园招聘笔试题(成都站,软件研发岗)——2013.09.21
- IO2
- 为JSP自定义你自己的标签吧
- 冒泡排序
- IO3
- 2013年九月暴风影音校招笔试题
- CUDA写显卡内存的FFT问题。
- A strange lift(2013.09.15)