打印流:
输出方向可分为:输入流和输出流。
读取的单位可分为:字节流和字符流。
节点流:是指输出输入的管道直接和数据源连接。。。。
处理流:是指输出输入管道被其他管道包裹着,不是和数据源直接连接,起缓冲作用的,也就是进行了处理。。。(转换流,数据流,有例子,有代码)
这些知识点不用背,不然绝对会弄混的。。。。。只有多在实际中应用才能记得更牢。。。。
代码摆在这,回头哪天忘了再看看。。。哎
FileInputStream小实例:
package heng.java.IO;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class TestFileInputStream {
public static void main(String[] args) {
int b = 0;
FileInputStream in = null;
try {
in = new FileInputStream("e:\\Order\\TCPTwoTalkClient.java");
long num = 0;
while((b=in.read()) != -1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println("共读取了"+num+"个字节");
} catch (Exception e) {
System.out.println("找不到指定文件");
System.exit(-1);//非正常退出程序
}
}
}
FileOutputStream小实例:
package heng.java.IO;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class TestFileOutputStream {
public static void main(String[] args) {
int b = 0;
FileInputStream in = null;
FileOutputStream out = null;
try {
in = new FileInputStream("e:\\Order\\TCPTwoTalkClient.java");
out = new FileOutputStream("e:\\Order\\TCPTwoTalkClient副本.java");
while((b=in.read()) != -1){
out.write(b);
}
in.close();
out.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("文件已复制");
}
}
FileReader小实例:
package heng.java.IO1;
import java.io.FileNotFoundException;
import java.io.FileReader;
/**
* 字符流,可以打印出字符
* @author Administrator
*
*/
public class TestFileReader {
public static void main(String[] args) {
FileReader fr = null;
int c = 0;
try {
fr = new FileReader("e:\\Order\\TCPTwoTalkClient.java");
int len = 0;
while((c = fr.read()) != -1){
System.out.print((char)c);
}
fr.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
FileWriter小实例:
package heng.java.IO1;
import java.io.FileReader;
import java.io.FileWriter;
public class TestFileWriter {
public static void main(String[] args) {
FileWriter fw = null;
FileReader fr = null;
int c = 0;
try {
fr = new FileReader("e:\\Order\\TCPTwoTalkClient.java");
fw = new FileWriter("e:\\Order\\TCPTwoTalkClient副本2.java");
while((c = fr.read()) != -1){
fw.write(c);
}
fr.close();
fw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("文件复制成功");
}
}
BufferedInputStreamStream小实例:
package heng.java.IO2;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class TestBufferStream {
public static void main(String[] args) {
FileInputStream fis = null;
BufferedInputStream bis = null;
try {
fis = new FileInputStream("e:\\Order\\TCPTwoTalkClient.java");
bis = new BufferedInputStream(fis);
int c = 0;
System.out.println(bis.read());
System.out.println(bis.read());
bis.mark(100);//做标记,从100开始读
for(int i=0; i<=10 && (c = bis.read())!=-1; i++){
System.out.print((char)c + " ");
}
System.out.println();
bis.reset();//返回做过标记的地方
for(int i=0; i<=10 && (c=bis.read())!=-1; i++){
System.out.print((char)c + " ");
}
bis.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
BufferedWriter和BufferedReader小实例:
package heng.java.IO2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
public class TestBufferStream1 {
public static void main(String[] args) {
BufferedWriter bw = null;
BufferedReader br = null;
try {
bw = new BufferedWriter(new FileWriter("e:\\Order\\TCPTwoTalkClient副本3_1.java"));
br = new BufferedReader(new FileReader("e:\\Order\\TCPTwoTalkClient副本3_1.java"));
String s = null;
for(int i=1; i<=100; i++){
s = String.valueOf(Math.random());
bw.write(s);
bw.newLine();//换行
}
bw.flush();
while((s=br.readLine()) != null){
System.out.println(s);
}
bw.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}