(转载)#java读书笔记#IO流

转载 2016年05月30日 14:45:05

转载自:http://blog.csdn.net/tzs_1041218129/article/details/51534671,直接看原帖,排版比较好,我就是为了收藏,避免遗失,归纳很好

1、IO流概述

(1)用来处理设备(硬盘,控制台,内存)间的数据。
(2)Java中对数据的操作都是通过流的方式。
(3)java用于操作流的类都在io包中。
(4)按照流操作的数据的类型不同:分为字节流和字符流。字符流是为了方便中文的操作而来的。
(5)按照流的流向不同分为:输入流,输出流

2、IO流常用基类:

(1)字节流

输出字节流:OutputStream:字节写入流抽象类
|—>FileOutputStream:
字节写入流
|—>BufferedOutputStream:
字节写入流缓冲区
|—>PrintStream:
打印流
输入字节流:InputStream:字节读取流抽象类
|—>FileInputStream:
字节读取流
|—>BufferedInputStream:
字节读取流缓冲区

(2)字符流

输出字符流:Writer:字符写入流的抽象
|—>FileWriter:
字符写入流
|—>BufferedWriter:
字符写入流缓冲区
|—>OutputStreamWriter:
字符通向字节的转换流(涉及键盘录入时用)
|—>OutputStreamWriter:
打印流,可处理各种类型的数据
输入字符流:Reader: 字符读取流的抽象类
|—>FileReader:
字符读取流
|—>LineNumberReader:
跟踪行号的缓冲字符读取流
|—>BufferedReader:
字符读取流缓冲区
|—>InputStreamReader:
字节通向字符的转换流(涉及键盘录入时用)

(3)IO流常用基类方法摘要:

字节写入流:OutputStream:
void close() 关闭此输出流并释放与此流有关的所有系统资源。
void flush()刷新此输出流并强制写出所有缓冲的输出字节。
abstract void write(int b) 将指定的字节写入此输出流。
void write(byte[] b) 将 b.length 个字节从指定的 byte 数组写入此输出流。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此输出流。
字节读取流:InputStream:
void close() 关闭此输入流并释放与该流关联的所有系统资源。
int available() (特有方法!!)
返回此输入流下一个方法调用可以不受阻塞地从此输入流读取(或跳过)的估计字节数。
abstract int read() 从输入流中读取数据的下一个字节。
int read(byte[] b) 从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
int read(byte[] b, int off, int len) 将输入流中最多 len 个数据字节读入 byte 数组。
long skip(long n) 跳过和丢弃此输入流中数据的 n 个字节。

字符写入流:Writer:
abstract void close() 关闭此流,但要先刷新它。
abstract void flush() 刷新该流的缓冲。
void write(int c) 写入单个字符。
void write(char[] cbuf) 写入字符数组。
abstract void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
void write(String str) 写入字符串。
void write(String str, int off, int len) 写入字符串的某一部分。

字符读取流:Reader:
abstract void close() 关闭该流并释放与之关联的所有资源。
int read() 读取单个字符。
int read(char[] cbuf) 将字符读入数组
abstract int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
long skip(long n) 跳过字符。

3、IO流常用字节流基类的子类:

写入流:

(1)FileOutputStream:

构造方法:
FileOutputStream(String name)
创建一个向具有指定名称的文件中写入数据的输出文件流。
FileOutputStream(String name, boolean append)
创建一个向具有指定 name 的文件中写入数据的输出文件流。
FileOutputStream(File file)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。
FileOutputStream(File file, boolean append)
创建一个向指定 File 对象表示的文件中写入数据的文件输出流。

方法摘要:
public void flush()
void close() 关闭此文件输出流并释放与此流有关的所有系统资源。
void write(int b) 将指定字节写入此文件输出流。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此文件输出流。
void write(int b) 将指定字节写入此文件输出流。

(2)BufferedOutputStream:

构造方法:
BufferedOutputStream(OutputStream out)
创建一个新的缓冲输出流,以将数据写入指定的底层输出流。
BufferedOutputStream(OutputStream out, int size)
创建一个新的缓冲输出流,以将具有指定缓冲区大小的数据写入指定的底层输出流。
方法摘要:
void flush() 刷新此缓冲的输出流。
void write(byte[] b, int off, int len)
将指定 byte 数组中从偏移量 off 开始的 len 个字节写入此缓冲的输出流。 void write(int b) 将指定的字节写入此缓冲的输出流。

(3)PrintStream:打印流,可将各种类型的数据原样打印,有自动刷新功能

构造方法:
PrintStream(String fileName)
创建具有指定文件名称且不带自动行刷新的新打印流。
PrintStream(File file) 创建具有指定文件且不带自动行刷新的新打印流。
PrintStream(OutputStream out)
创建新的打印流。
PrintStream(OutputStream out, boolean autoFlush) (当autoFlush为true时具有自动刷新功能)
创建新的打印流。

方法摘要:PrintStream append(char c) 将指定字符添加到此输出流。
void close()
关闭流。 void flush() 刷新该流的缓冲。void print(各种类型的数据:) 打印各种类型的数据 void println(各种类型的数据:):自动换行打印各种类型的数据 void write(byte[] buf, int off, int len) 将 len 字节从指定的初始偏移量为 off 的 byte 数组写入此流。 void write(int b) 将指定的字节写入此流。

4、读取流:

(1)FileInputStream:

构造方法:FileInputStream(String name) 通过打开一个到实际文件的连接来创建一个 FileInputStream,该文件通过文件系统中的路径名 name 指定。FileInputStream(File file) 通过打开一个到实际文件的连接来创建一个 FileInputStream,
该文件通过文件系统中的 File 对象 file 指定。

方法摘要:int available() (字节读取流特有方法!!!)返回下一次对此输入流调用的方法可以不受阻塞地从此输入流读取(或跳过)的估计剩余字节数。int read() 从此输入流中读取一个数据字节。 int read(byte[] b) 从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。 int read(byte[] b, int off, int len) 从此输入流中将最多 len 个字节的数据读入一个 byte 数组中。 long skip(long n)
从输入流中跳过并丢弃 n 个字节的数据。

(2)BufferedInputStream:

构造方法:BufferedInputStream(InputStream in) 创建一个 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。 BufferedInputStream(InputStream in, int size)
创建具有指定缓冲区大小的 BufferedInputStream 并保存其参数,即输入流 in,以便将来使用。

方法摘要:int available() (字节读取流特有方法!!!)返回可以从此输入流读取(或跳过)、且不受此输入流接下来的方法调用阻塞的估计字节数。 int read() 参见 InputStream 的 read 方法的常规协定。 int read(byte[] b, int off, int len) 从此字节输入流中给定偏移量处开始将各字节读取到指定的 byte 数组中。 long skip(long n)
参见 InputStream 的 skip 方法的常规协定。

5、字符流常用基类的子类

写入流:

(1)FileWriter:

构造方法:
FileWriter(String fileName)
根据给定的文件名构造一个 FileWriter 对象。
FileWriter(String fileName, boolean append)
根据给定的文件名以及指示是否附加写入数据的 boolean 值来构造 FileWriter 对象。
FileWriter(File file)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(File file, boolean append)
根据给定的 File 对象构造一个 FileWriter 对象。
FileWriter(FileDescriptor fd)
构造与某个文件描述符相关联的 FileWriter 对象。

方法摘要:跟Writer一样abstract void close() 关闭此流,但要先刷新它。abstract void flush() 刷新该流的缓冲。void write(int c) 写入单个字符。void write(char[] cbuf) 写入字符数组。 abstract void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 void write(String str) 写入字符串。
void write(String str, int off, int len) 写入字符串的某一部分。

(2)BufferedWriter:

构造方法:BufferedWriter(Writer out) 创建一个使用默认大小输出缓冲区的缓冲字符输出流。 BufferedWriter(Writer out, int sz)
创建一个使用给定大小输出缓冲区的新缓冲字符输出流。

方法摘要:void close() 关闭此流,但要先刷新它。 void flush() 刷新该流的缓冲。 void newLine() 写入一个行分隔符。 void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。 void write(int c) 写入单个字符。 void write(String s, int off, int len)
写入字符串的某一部分。

(3)OutputStreamWriter:字节通向字符的转换流

构造方法:
OutputStreamWriter(OutputStream out) 创建使用默认字符编码的 OutputStreamWriter。
方法摘要:
void write(char[] cbuf, int off, int len) 写入字符数组的某一部分。
void write(int c) 写入单个字符。
void write(String str, int off, int len)
写入字符串的某一部分。

(4)PrintWriter:

构造方法:
PrintWriter(String fileName) 创建具有指定文件名称且不带自动行刷新的新 PrintWriter。
PrintWriter(File file) 使用指定文件创建不具有自动行刷新的新 PrintWriter。
PrintWriter(Writer out) 创建不带自动行刷新的新 PrintWriter。
PrintWriter(Writer out, boolean autoFlush) 创建新 PrintWriter。
PrintWriter(OutputStream out) 根据现有的 OutputStream 创建不带自动行刷新PrintWriter。
PrintWriter(OutputStream out, boolean autoFlush) 通过现有的 OutputStream 创建新的 PrintWriter。

方法摘要:
PrintWriter append(char c) 将指定字符添加到此 writer。
void print(各种类型的数据:) 打印各种类型的数据
void println(各种类型的数据:):自动换行打印各种类型的数据
void write(char[] buf) 写入字符数组。
void write(char[] buf, int off, int len) 写入字符数组的某一部分。
void write(int c) 写入单个字符。 void write(String s) 写入字符串。
void write(String s, int off, int len) 写入字符串的某一部分。

读取流:

(1)FileReader:

构造方法:
FileReader(String fileName) 在给定从中读取数据的文件名的情况下创建一个新 FileReader。
FileReader(File file) 在给定从中读取数据的 File 的情况下创建一个新 FileReader。
FileReader(FileDescriptor fd) 在给定从中读取数据的 FileDescriptor 的情况下创建一个新 FileReader。

方法摘要:
和Reader基类方法一致:
abstract void close() 关闭该流并释放与之关联的所有资源。
int read() 读取单个字符。
int read(char[] cbuf) 将字符读入数组
abstract int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
long skip(long n) 跳过字符。

(2)BufferedReader:

构造方法:
BufferedReader(Reader in) 创建一个使用默认大小输入缓冲区的缓冲字符输入流。

方法摘要:
int read() 读取单个字符。
int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
String readLine() 读取一个文本行。

(3)InputStreamReader:字符通向字节的桥梁:

构造方法:
InputStreamReader(InputStream in) 创建一个使用默认字符集的 InputStreamReader。

方法摘要:
int read() 读取单个字符。
int read(char[] cbuf) 将字符读入数组
abstract int read(char[] cbuf, int off, int len) 将字符读入数组的某一部分。
long skip(long n) 跳过字符。

(4)LineNumberReader:

构造方法:
LineNumberReader(Reader in) 使用默认输入缓冲区的大小创建新的行编号 reader。

方法摘要:
int read() 读取单个字符。
int read(char[] cbuf, int off, int len) 将字符读入数组中的某一部分。
String readLine() 读取文本行。
long skip(long n) 跳过字符。
int getLineNumber() 获得当前行号。
void setLineNumber(int lineNumber) 设置当前行号。

6、IO流常见需求:

字符流:

(1)需求1:在硬盘上创建一个文件并写入信息
用字符写入流:FileWriter
FileWriter fw = new FileWriter(“g:\filewriter.txt”);
fw.write(“输入信息”);
fw.write(“也可以写入字符数组”.toCharArray());
fw.flush();
fw.close();
(2)需求2:在原有文件上续写数据
FileWriter fw = new FileWriter(“g:\filewriter.txt”,true);
fw.write(“还可以续写信息”);
fw.write(“也可以写入字符数组”.toCharArray());
fw.flush();
fw.close();

(3)需求3:读取硬盘上的文本文件,并将数据打印在控制台
FileReader fr = new FileReader(“g:\filewriter.txt”);
**第一种读取方法:一个一个字节的读
int ch = 0;
ch = fr.read();
sop((char)ch);
fr.close();
**第二种读取方法:利用数组来提高效率
char[] buf = new char[1024];
int len = 0;
while((len = fr.read(buf))!=-1)
{
sop(new String(buf,0,len));
}
fr.close();

(4)需求4:拷贝文本文件
利用缓冲区提高数据读写效率
(无缓冲区就相当于一滴一滴的喝水,有缓冲区就相当于一杯一杯的喝水)
BufferedReader bufr = new BufferedReader(new FileReader(“g:\filewriter.txt”));
BufferedWriter bufw = new BufferedWriter(new FileWriter(“d:\copyfilewriter.txt”));
String line = null;
while((line = bufr.readLine())!=null)
{
burw.write(line);
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();

字节流:字节流写入时没有刷新

(1)需求1:在硬盘上创建一个文件并写入信息(字节流写入时没有刷新)
FileOutputStream fos = new FileOutputStream(“g:\filestream.txt”);
fos.write(97);//写入一个字节,int:97代表写入char:a
fos.write(“也可以写入字节数组”.getBytes());//通常使用此种方式写入,直观!
fos.close();
(2)需求2:在硬盘已有文件上续写数据(字节流写入时没有刷新)
FileOutputStream fos = new FileOutputStream(“g:\filestream.txt”,true);
fos.write(“创建字节写入流时,传进去一个true参数就可以继续写入信息”.getBytes());
fos.close();

(3)需求3:读取硬盘上的文件
FileInputStream fis = new FileInputStream(“g:\filestream.txt”);
**第一种读法:一个字节一个字节的读(此种读法慢)
int ch = 0;
while((ch = fis.read())!=-1)
{
sop((char)ch);
}
**第一种读法:利用字节数组读(此种读法效率有一定提高)
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read())!=-1)
{
sop(new String(buf,0,len));
}

(4)需求4:拷贝字节文件,如图片或者MP3或者电影
第一种拷贝:不带缓冲区(慢,还是效率问题)
FileInputStream fis = new FileInputStream(“g:\1.mp3”);
FileOutputStream fos = new FileOutputStream(“g:\copy1.mp3”);
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf))!=-1)
{
fos.(buf,0,len);//字节流写入无需刷新
}
fis.close();
fos.close();

第二种拷贝:带缓冲区,高效
BufferedInputStream bufi = new BufferedInputStream(new FileInputStream(“g:\1.mp3”));
BufferedOutputStream bufo = new BufferedOutputStream(new FileOutputStream(“g:\copy1.mp3”));
int ch = 0;
while((ch = bufi.read())!=-1)
{
bufo.write(ch);
}
bufi.close();
bufo.close();

转换流:

(1)需求1:读取一个键盘录入
InputStream in = System.in;//创建一个键盘录入流,流不关则可以一直录入
int by1 = in.read();//一次读一个字节
int by2 = in.read();//一次读一个字节
sop(by1);//假设键盘录入的是abcd,则打印a
sop(by2);//假设键盘录入的是abcd,则打印b
in.close();

(2)需求2:键盘录入一行数据打印一行数据,如果录入的是over则结束录入
InputStream in = System.in;
StringBuilder sb = new StringBuilder();
while(true)
{
int ch = in.read();
if(ch==’\r’)
continue;
if(ch==’\n’)
{
String line = sb.toString();
if(“over”.equals(line))
break;
sop(line.toUpperCase());//输出大写
sb.delete(0.sb.length());//清除上一行录入的数据

}
else
sb.append((char)ch);
}
in.close();

(3)需求3:发现需求2中其实就是读一行的原理,故引入字节通向字符的桥梁:InputStreamReader
为提高效率加入缓冲区:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line = bufr.readLine())!=null)
{
if(“over”.equals(line))
break;
sop(line.toUpperCase());//输出大写
}
bufr.close();

(4)需求4:键盘录入数据并打印到控制台
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OntputStreamWriter(System.out));
String line = null;
while((line = bufr.readLine())!=null)
{
if(“over”.equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();

(5)需求5:将键盘录入的数据存储到硬盘文件
则只需将(4)中的
BufferedWriter bufw = new BufferedWriter(new OntputStreamWriter(System.out));
改为:
BufferedWriter bufw = new BufferedWriter(new OntputStreamWriter(new FileWriter(“g:\demo.txt”)));
即:
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OntputStreamWriter(new FileWriter(“g:\demo.txt”)));
String line = null;
while((line = bufr.readLine())!=null)
{
if(“over”.equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();

(6)需求6:将硬盘文件的数据打印到控制台
则只需将(4)中的
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
改为:
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileReader(“g:\demo.txt”)));
即:
BufferedReader bufr = new BufferedReader(new InputStreamReader(new FileReader(“g:\demo.txt”)));
BufferedWriter bufw = new BufferedWriter(new OntputStreamWriter(System.out));
String line = null;
while((line = bufr.readLine())!=null)
{
if(“over”.equals(line))
break;
bufw.write(line.toUpperCase());
bufw.newLine();
bufw.flush();
}
bufr.close();
bufw.close();

7、流操作的规律:

流操作的难点:流对象很多,不知道具体用哪个
规律:
(1)第一步:先明确源和目的
源:
文本:用Reader
字节:用InputStream
目的:
文本:用Writer
字节:用OutputStream
(2)第二步:明确是不是纯文本
是:用字符流;
不是:用字节流
(3)第三步:明确流体系后,通过设备来明确具体使用哪个流对象
源设备:
键盘:System.in
硬盘:文件流File
内存:数组流ArrayStream
目的设备:
键盘:System.out
硬盘:文件流File
内存:数组流ArrayStream

8、File类

构造方法:
File(String pathname)
通过将给定路径名字符串转换为抽象路径名来创建一个新 File 实例。
File(String parent, String child)
根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。
File(File parent, String child)
根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
方法摘要:

(1)创建:

boolean createNewFile()
当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
boolean mkdir()
创建一级文件夹
boolean mkdirs()
创建多级文件夹

(2)判断:

boolean canExecute()
测试应用程序是否可以执行此抽象路径名表示的文件。
boolean canRead()
测试应用程序是否可以读取此抽象路径名表示的文件。
boolean canWrite()
测试应用程序是否可以修改此抽象路径名表示的文件。
int compareTo(File pathname)
按字母顺序比较两个抽象路径名。
boolean isAbsolute()
测试此抽象路径名是否为绝对路径名。
boolean isDirectory()
测试此抽象路径名表示的文件是否是一个目录。
boolean isFile()
测试此抽象路径名表示的文件是否是一个标准文件。
boolean isHidden()
测试此抽象路径名指定的文件是否是一个隐藏文件。
boolean exists()
测试此抽象路径名表示的文件或目录是否存在。

(3)获取:

String getParent()
返回此抽象路径名父目录的路径名字符串;如果此路径名没有指定父目录,则返回 null。
File getParentFile()
返回此抽象路径名父目录的抽象路径名;如果此路径名没有指定父目录,则返回 null。
String getName()
返回由此抽象路径名表示的文件或目录的名称。
String getPath()
将此抽象路径名转换为一个路径名字符串。
String getAbsolutePath()
返回此抽象路径名的绝对路径名字符串。
File getAbsoluteFile()
返回此抽象路径名的绝对路径名形式。

(4)删除:

boolean delete()
删除此抽象路径名表示的文件或目录。
oid deleteOnExit()
在虚拟机终止时,请求删除此抽象路径名表示的文件或目录。

(5)获取全部:(非常重要!!!)

String[] list()
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。
String[] list(FilenameFilter filter)
返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。
File[] listFiles()
返回一个抽象路径名数组,这些路径名表示此抽象路径名表示的目录中的文件。
File[] listFiles(FileFilter filter)
返回抽象路径名数组,这些路径名表示此抽象路径名表示的目录中满足指定过滤器的文件和目录。
FilenameFilter接口只有一个方法:
boolean accept(File dir, String name)
测试指定文件是否应该包含在某一文件列表中。
FileFilter接口只有一个方法:
boolean accept(File dir, String name)
测试指定文件是否应该包含在某一文件列表中。

9、File类常见需求:

(1)文件名过滤:列出给定目录的所有.java文件

public void showFileName(File file)
{
String[] filenames = file.list(new FilenameFilter()//匿名内部类
{
public boolean accept(File dir,String name)//复写唯一方法
{
return name.endsWith(“.java”);//列出所有.java文件
}
});
}

(2)列出指定目录下的所有文件和文件夹(递归)

示例1:不带层次递归:
public static void showDir(File dir)
{
File[] files = dir.listFile();
for(int i = 0;i

(3)需求:删除带内容的目录:

public static void removeDir(File dir)
{
File[] files = file.listFile();
for(int i = 0;i

(4)需求:将制定目录下的java文件的绝对路径存储到文本文件中。

思路:
对指定目录进行递归
获取递归过程中所有java文件的路径
将这些路径存储到集合中
将集合中的数据写入文件中
//对指定目录进行递归并将所以Java文件存储到集合中
public static void getFileName(File file,ArrayList arraylist){
File[] files = file.listFiles();
for (int i = 0; i < files.length; i++) {
if(files[i].isDirectory()&&!files[i].isHidden()){
getFileName(files[i],arraylist);
}else{
if(files[i].getName().endsWith(“.java”)){
arraylist.add(files[i]);
}
}
}
}
//将集合中所有数据存储到新文件中
public static void saveFileToNewDir(ArrayList arraylist,File newDir){
BufferedWriter bufw = null;
try {
bufw = new BufferedWriter(new FileWriter(newDir));
for (File file : arraylist) {
String fileAbsolutePath = file.getAbsolutePath();
bufw.write(fileAbsolutePath);
bufw.newLine();
bufw.flush();
}
} catch (Exception e) {
System.out.println(“文件写入失败”);
}finally{
try {
if(bufw!=null)
bufw.close();
} catch (Exception e2) {
System.out.println(“文件写入流关闭失败”);
}
}
}

IO流 Java核心技术读书笔记

文本输出 可以使用PrintWriter进行文本输出。 PrintWriter out = new PrintWriter("emploee.txt"); 等价于: PrintWriter o...

#java读书笔记#IO流2

4、字符流常用基类的子类 写入流: (1)FileWriter: 构造方法: FileWriter(String fileName)  根据给定的文件名构造一个 FileWriter 对象。  Fil...

#java读书笔记#IO流1

1、IO流概述     (1)用来处理设备(硬盘,控制台,内存)间的数据。 (2)java中对数据的操作都是通过流的方式。 (3)java用于操作流的类都在io包中。 (4)按照流操作的数据的类型...

Java IO 对象流与序列化 Java编程思想读书笔记

在Java中,可以通过ObjectOutputStream写出/读取对象。写出对象 :

java读书笔记-IO类-编程小问题

最近刚好在复习一下java SE中的io类内容,把这些小问题总结一下。

java io读书笔记

1、字节流和字符流      2、输入流和输出流 (1) 输入流:reader和inputstream                字符输入流reader:                a. B...

java io 读书笔记

java io 读书笔记 阅读《java+TCP/IP+Socket编程》随笔套接字:java为是实现应用程序的相互通信提供了许多api,这类应用接口的api称为套接字。...

java特种兵读书笔记(4-4)——java通信之tomcat对IO请求的处理

tomcat配置 tomcat的配置体系,如Server,Service,Executor,HTTP等。这是tomcat从外层到内层的访问机制。 tomcat启动时,是启动java的m...
  • xxcupid
  • xxcupid
  • 2016年01月21日 16:05
  • 594

Java IO File 文件管理 Java编程思想读书笔记

可以使用File管理磁盘上的文件。 File对象最简单的构造器接受一个完全的文件。如果没有提供路径名,则使用当前路径。 File f = new File("test.txt"); ...

Java IO ZIP文档操作 Java编程思想读书笔记

要写出到ZIP文件,可以使用ZipOutputStream。对于每一项放到ZIP的文件,都创建一个ZipEntry对象,并将文件传递给该对象的构造器。然后调用ZipOutputStream的putNe...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:(转载)#java读书笔记#IO流
举报原因:
原因补充:

(最多只允许输入30个字)