java--IO流(后半部分)
来源:互联网 发布:mac删掉windows 编辑:程序博客网 时间:2024/05/21 22:25
1.打印流
PrintWriter(Writerout)
打印输出流,针对于字符
@Test
public void test() throws IOException {
FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/f.txt");
PrintStream ps = new PrintStream(fos);
ps.println("HelloMyJava");
ps.print("hahaha");
ps.close();
fos.close();
}
PrintStream(OutputStreamout)
打印输出流,针对于字节
@Test
public void test1() throws IOException {
FileWriter fw = new FileWriter("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/g.txt");
PrintWriter pw = new PrintWriter(fw);
pw.println("Hello我的Java世界");
pw.print("哈哈哈");
pw.print("嘿嘿嘿");
pw.close();
fw.close();
}
2.对象流
ObjectOutputStream(OutputStreamout)
对象输出流,配合FileOutputStream使用,将对象输出到磁盘
writeObject
将对象写入磁盘
@Testpublic void test1() throws IOException {
User user1 = new User("张三", "3749827849237984", "123", 20000);
User user2 = new User("李四", "6867867858", "1111", 30);
FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/zs.dat");
ObjectOutputStream oos = new ObjectOutputStream(fos); //定义对象输出流
oos.writeObject(user1);
oos.close();
fos.close();
FileOutputStream fos1 = new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/ls.dat");
ObjectOutputStream oos1 = new ObjectOutputStream(fos1);
oos1.writeObject(user2);
oos1.close();
fos1.close();
}
ObjectInputStream(InputStreamin)
对象输⼊流,配合FileInputStream使⽤,将对象输⼊到程序
readObject
从磁盘中读取对象到程序
@Testpublic void test2() throws IOException, ClassNotFoundException {
FileInputStream fis = new FileInputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/zs.dat");
ObjectInputStream ois = new ObjectInputStream(fis); //定义对象输入流
User zs = (User) ois.readObject(); //从磁盘路径中读取对象
System.out.println("姓名:"+zs.getName());
System.out.println("卡号:"+zs.getCardNo());
System.out.println("密码:"+zs.getPwd());
System.out.println("账户金额:"+zs.getMoney());
ois.close();
fis.close();
}
3.缓冲流
缓冲流对读写的数据提供了缓冲的功能,提高了读写的效率
readLine
该⽅法是BufferedReader对象提供的⽅法,⽅法返回值是String类型,表⽰每次读取⼀⾏的内容
newLine
该⽅法是BufferedWriter对象提供的⽅法,表⽰向⽂件中写⼊⼀个换⾏符
BufferedInputStream(FileInputStream in)
BufferedInputStream(FileInputStreamin, int sz)
/*** 通过FileInputStream读取磁盘中的图片,借助缓冲区BufferedInputStream
* @throws IOException
*/
@Test
public void test1() throws IOException {
FileInputStream fis = new FileInputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/a.txt");
BufferedInputStream bis = new BufferedInputStream(fis, 1024); //定义缓冲区
int b;
while((b=bis.read()) != -1) {
System.out.println((char)b);
}
bis.close();
fis.close();
}
BufferedOutputStream(FileOutputStream out)
BufferedOutputStream(FileOutputStreamout, int sz)
/**
* 通过FileOutputStream输出内容到磁盘文件,借助缓冲区BufferedOutputStream
* @throws IOException
*/
@Test
public void test2() throws IOException {
FileOutputStream fos = new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/b.txt");
BufferedOutputStream bos = new BufferedOutputStream(fos, 1024); //定义缓冲区
bos.write("HelloMyJava".getBytes());
bos.close();
fos.close();
}
BufferedReader(Reader in)
BufferedReader(Readerin, int sz)
/*** 通过FileReader读取文件内容,借助缓冲区BufferedReader
* @throws IOException
*/
@Test
public void test3() throws IOException {
FileReader fr = new FileReader("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/hello.txt");
BufferedReader br = new BufferedReader(fr, 1024); //定义缓冲区
int c;
while((c=br.read()) != -1) {
System.out.println((char)c);
}
br.close();
fr.close();
}
BufferedWriter(Writer out)
BufferedWriter(Writerout, int sz)
/*** 通过FileWriter向磁盘文件写入内容,借助缓冲区BufferedWriter
* @throws IOException
*/
@Test
public void test4() throws IOException {
FileWriter fw = new FileWriter("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/hello/c.txt");
BufferedWriter bw = new BufferedWriter(fw, 1024);
bw.write("嘿嘿嘿");
bw.close();
fw.close();
}
案例:
@Test
public void testcopyAB() throws IOException{
File f1=new File("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
File f2=new File("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/B.txt");
f1.createNewFile();
f2.createNewFile();
FileOutputStream fos=new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
BufferedOutputStream bos=new BufferedOutputStream(fos,1024);
bos.write("fsadfdsffGREG".getBytes());
bos.close();
fos.close();
FileInputStream fis=new FileInputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
BufferedInputStream bis=new BufferedInputStream(fis,1024);
FileOutputStream fosB=new FileOutputStream("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/B.txt");
BufferedOutputStream bosB=new BufferedOutputStream(fosB,1024);
int b=0;
while((b=bis.read())!=-1){
bosB.write(b);
}
System.out.println("拷贝完成 ");
bosB.close();
fosB.close();
bis.close();
fis.close();
}
@Test
public void testfilerwcopyABC() throws IOException{
File f11=new File("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
File f22=new File("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/B.txt");
f11.createNewFile();
f22.createNewFile();
FileWriter fw=new FileWriter("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
BufferedWriter bw=new BufferedWriter(fw,1024);
bw.write("我爱大自然~~~");
bw.newLine();
bw.write("sure");
bw.close();
fw.close();
FileReader fr=new FileReader("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/A.txt");
BufferedReader br=new BufferedReader(fr,1024);
FileWriter FW=new FileWriter("C:/Users/Administrator/Workspaces/MyEclipse 8.5/2017.12.14/B.txt");
BufferedWriter BW=new BufferedWriter(FW,1024);
String str;
while((str=br.readLine())!=null){//读取文件,按行读取
BW.write(str);
BW.newLine();
}
System.out.println("拷贝完成 ");
BW.close();
FW.close();
br.close();
fr.close();
}
- java--IO流(后半部分)
- java--IO流(前半部分)
- Java IO 总结(部分)
- java中IO流的理解及用法(部分)
- JAVA笔记之IO流第一部分
- java---IO流中的其他部分
- Java io部分和其他
- Java 高级知识 -- IO部分
- Java IO体系 - 第一部分
- Java IO体系 - 第二部分
- java io 学习部分整理
- IO流部分
- Think in Java IO流的 字节流部分
- 黑马程序员-Java基础知识8(部分笔记总结-IO流)
- JAVA IO输入输出流部分代码的入门应用
- 关于Java中IO流部分的知识总结
- Java IO编程 学习笔记 (其一:基础部分)
- Java(IO流)
- 1045. 快速排序(25)
- centOS yum出问题解决办法
- 风投与中国
- 线程知识点
- javascript系列之实际开发中的跨域
- java--IO流(后半部分)
- java高并发总结-常用于面试复习
- java泛型学习-泛型的产生原因,使用方法以及具体的警告
- 购物车布局主页面
- OkHttp二次封装请求 拦截器
- 算法爱好者——算法题:四元组 ? 待解决
- cmd命令大全
- java计算工具类UnitProPlus
- 'Starting Tomcat v8.0 Server at localhost' has encountered a problem