六,IO系统

一,数据源

1,数据源--管道确认使用那根管道--节点流

2,先确定管道在tey中new出管道,new出后就写关闭代码,写完关闭代码在写中间代码

3,取数据和放数据结束语句必须有两个,不能写在一个try中

4,fout.flush();//冲刷,用来强制执行完后才能执行下一步

5,对象的序列化和反序列化;

1,将输入的二进制对象流转换为对象(不管从哪来)

2,把对象以二进制流的形式输出(不管输出到哪)

3,transient();修饰的属性值不参与序列化

二,字节流(byte)二进制数据,我们看不懂,什么数据都可以传,包括字符流

1,字节输入流;(inputstream),字节输出流;(outputstream)

例;

FileInputStream fin = null;

FileOutputStream fout = null;

try {

fin = new FileInputStream("D:/lileihanmeimei.mp3");

fout = new FileOutputStream("F:/my.mp3");

byte[] b = new byte[1024];

int length = 0;

while((length = fin.read(b)) != -1){

fout.write(b,0,length);

fout.flush();//冲刷

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(fin != null){

try {

fin.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fout != null){

try {

fout.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

2,对象反序列化:(ObjectOutputStream)将输入的二进制对象流转换为对象

例;

StudentBean stu = new StudentBean("小白", 25);

stu.setHomeAddress(new AddressBean("中国", "四川", "绵阳"));

ObjectOutputStream oos = null;

try {

oos = new ObjectOutputStream(new FileOutputStream("stu.data"));

oos.writeObject(stu);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(oos != null){

try {

oos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

3,对象序列化(ObjectInputStream)---把对象以二进制流的形式输出

例;

StudentBean stu = null;

ObjectInputStream ois = null;

try {

ois = new ObjectInputStream(new FileInputStream("stu.data"));

stu = (StudentBean)ois.readObject();

stu.study();

System.out.println(stu.getAge());

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} finally{

if(ois != null){

try {

ois.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

三,字符流(char)文本数据,我们看得懂的,只能传字符流

1,字符输入流(reader)

例;

String poem = "";

FileReader fr = null;

try {

fr = new FileReader("poem.txt");

int c = 0;

while((c = fr.read()) != -1){

poem += (char)c;//取字符

}

System.out.println(poem);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(fr != null){

try {

fr.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

2,字符输出流(writer)

例;

String poem = "床前明月光,地上疑似霜。";

1、确定管道

FileWriter fw = null;

try {

fw = new FileWriter("poem.txt");

2、操作管道

fw.write(poem);//放字符

} catch (IOException e) {

e.printStackTrace();

} finally{

3、关闭管道

if(fw != null){

try {

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

四,file来自io包是Java中专门用于封装表示文件/文件夹的类型

File是Java中专门用来封装表示文件/文件夹的类型

1,File表示文件

File file = new File("F:/my.mp3");

ile file1 = new File("F:/hello.txt");

File file2 = new File("D:/world.txt");

System.out.println(file.getName());

System.out.println(file.getPath());

System.out.println(file.getParent());

System.out.println(file.length());

System.out.println(new Date(file.lastModified()));

try {

if(!file1.exists()){

file1.createNewFile();

}else{

file1.renameTo(file2);

}

} catch (IOException e) {

e.printStackTrace();

}

System.out.println(file1.canWrite());

System.out.println(file1.isHidden());

2,File表示文件夹

File dir = new File("D:/tools");

if(dir.isDirectory()){

String[] subStrs = dir.list();

for(String sub : subStrs){

System.out.println(sub);

}

File[] subFiles = dir.listFiles();

for(File sub : subFiles){

if(sub.isHidden()){

System.out.println(sub.getName());

}

}

}

六,IO系统

一,数据源

1,数据源--管道确认使用那根管道--节点流

2,先确定管道在tey中new出管道,new出后就写关闭代码,写完关闭代码在写中间代码

3,取数据和放数据结束语句必须有两个,不能写在一个try中

4,fout.flush();//冲刷,用来强制执行完后才能执行下一步

5,对象的序列化和反序列化;

1,将输入的二进制对象流转换为对象(不管从哪来)

2,把对象以二进制流的形式输出(不管输出到哪)

3,transient();修饰的属性值不参与序列化

二,字节流(byte)二进制数据,我们看不懂,什么数据都可以传,包括字符流

1,字节输入流;(inputstream),字节输出流;(outputstream)

例;

FileInputStream fin = null;

FileOutputStream fout = null;

try {

fin = new FileInputStream("D:/lileihanmeimei.mp3");

fout = new FileOutputStream("F:/my.mp3");

byte[] b = new byte[1024];

int length = 0;

while((length = fin.read(b)) != -1){

fout.write(b,0,length);

fout.flush();//冲刷

}

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(fin != null){

try {

fin.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(fout != null){

try {

fout.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

2,对象反序列化:(ObjectOutputStream)将输入的二进制对象流转换为对象

例;

StudentBean stu = new StudentBean("小白", 25);

stu.setHomeAddress(new AddressBean("中国", "四川", "绵阳"));

ObjectOutputStream oos = null;

try {

oos = new ObjectOutputStream(new FileOutputStream("stu.data"));

oos.writeObject(stu);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(oos != null){

try {

oos.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

3,对象序列化(ObjectInputStream)---把对象以二进制流的形式输出

例;

StudentBean stu = null;

ObjectInputStream ois = null;

try {

ois = new ObjectInputStream(new FileInputStream("stu.data"));

stu = (StudentBean)ois.readObject();

stu.study();

System.out.println(stu.getAge());

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

} finally{

if(ois != null){

try {

ois.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

三,字符流(char)文本数据,我们看得懂的,只能传字符流

1,字符输入流(reader)

例;

String poem = "";

FileReader fr = null;

try {

fr = new FileReader("poem.txt");

int c = 0;

while((c = fr.read()) != -1){

poem += (char)c;//取字符

}

System.out.println(poem);

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} finally{

if(fr != null){

try {

fr.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

2,字符输出流(writer)

例;

String poem = "床前明月光,地上疑似霜。";

1、确定管道

FileWriter fw = null;

try {

fw = new FileWriter("poem.txt");

2、操作管道

fw.write(poem);//放字符

} catch (IOException e) {

e.printStackTrace();

} finally{

3、关闭管道

if(fw != null){

try {

fw.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

四,file来自io包是Java中专门用于封装表示文件/文件夹的类型

File是Java中专门用来封装表示文件/文件夹的类型

1,File表示文件

File file = new File("F:/my.mp3");

ile file1 = new File("F:/hello.txt");

File file2 = new File("D:/world.txt");

System.out.println(file.getName());

System.out.println(file.getPath());

System.out.println(file.getParent());

System.out.println(file.length());

System.out.println(new Date(file.lastModified()));

try {

if(!file1.exists()){

file1.createNewFile();

}else{

file1.renameTo(file2);

}

} catch (IOException e) {

e.printStackTrace();

}

System.out.println(file1.canWrite());

System.out.println(file1.isHidden());

2,File表示文件夹

File dir = new File("D:/tools");

if(dir.isDirectory()){

String[] subStrs = dir.list();

for(String sub : subStrs){

System.out.println(sub);

}

File[] subFiles = dir.listFiles();

for(File sub : subFiles){

if(sub.isHidden()){

System.out.println(sub.getName());

}

}

}

六,IO系统的更多相关文章

  1. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

  2. 从零开始山寨Caffe·拾贰:IO系统(四)

    消费者 回忆:生产者提供产品的接口 在第捌章,IO系统(二)中,生产者DataReader提供了外部消费接口: class DataReader { public: ......... Blockin ...

  3. 从零开始山寨Caffe·陆:IO系统(一)

    你说你学过操作系统这门课?写个无Bug的生产者和消费者模型试试! ——你真的学好了操作系统这门课嘛? 在第壹章,展示过这样图: 其中,左半部分构成了新版Caffe最恼人.最庞大的IO系统. 也是历来最 ...

  4. io系统

    一.浅谈io系统 io系统的结构化思想是:输入-转换流-装饰器-输出. 对于字节流来说,常见的结构类为: package com.handchina.yunmart.middleware.servic ...

  5. 彻底明白Java的IO系统

    java学习:彻底明白Java的IO系统 文章来源:互联网 一. Input和Output1. stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源.在Java的IO中,所有 ...

  6. 什么是PROFINET IO系统的实时性

    实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行. PROFINET IO系统的实时性就是指当有一个外部事件发生时,从输入信号到传输.到控制 ...

  7. Java的IO系统

     Java IO系统     "对语言设计人员来说,创建好的输入/输出系统是一项特别困难的任务."     由于存在大量不同的设计方案,所以该任务的困难性是很容易证明的.其中最大的 ...

  8. [转]PostgreSQL教程(十六):系统视图详解

    这篇文章主要介绍了PostgreSQL教程(十六):系统视图详解,本文讲解了pg_tables.pg_indexes.pg_views.pg_user.pg_roles.pg_rules.pg_set ...

  9. 【Java基础系列】Java IO系统

    前言 创建好的输入/输出系统不仅要考虑三种不同种类的IO系统(文件,控制台,网络连接)还需要通过大量不同的方式与他们通信(顺序,随机访问,二进制,字符,按行,按字等等). 一.输入和输出 Java的I ...

随机推荐

  1. AtCoder Grand Contest 009 E:Eternal Average

    题目传送门:https://agc009.contest.atcoder.jp/tasks/agc009_e 题目翻译 纸上写了\(N\)个\(1\)和\(M\)个\(0\),你每次可以选择\(k\) ...

  2. 《TCP/IP详解卷一:协议》数据链路层(一)

    版权声明:本文为博主原创文章,转载请标注转载链接,谢谢.   目录(?)[+]   引言         在TCP/IP协议族中,链路层主要有三个目的: 为IP模块发送和接收IP数据报. 为ARP模块 ...

  3. MyEclipse修改Servlet模板

    进入myeclipse的安装路径 然后进入plugins文件夹 打开搜索框,输入 *wizard* 找到名字是 com.genuitec.eclipse.wizards_11.5.0.me201310 ...

  4. requests模拟上传照片

    博客园相册管理中有上传照片的功能 现在通过requests库模拟上传图片功能 先手动上传图片,用Fiddler转包,查看到上传图片接口请求格式, ------WebKitFormBoundarySKZ ...

  5. LMV实验

    在CentOS6.8上创建过程如下: #对需要创建lvm的卷进行磁盘分区[root@www ~13:40:48]#fdisk /dev/sde Device contains neither a va ...

  6. android学习点滴一:android环境的搭建

    东一点西一点,很多时间都浪费了.是该系统性的做好自己的东西了. <android学习点滴一:android环境的搭建> [环境变量]变量名:JAVA_HOME变量值:C:\Java\jdk ...

  7. Umbraco back office 登录不了,如何解决

    通过设置User的默认密码为"default", 它的Hash值为 bnWxWyFdCueCcKrqniYK9iAS+7E= 所以在SQL Server中执行以下脚本 UPDATE ...

  8. C/C++ Sleep(0)

    Sleep(0) 的意义是放弃当前线程执行的时间片,把自身放到等待队列之中.这时其它的线程就会得到时间片进行程序的程序.Sleep(0)能够降低当前线程的执行速 度,比如:现在系统中有100个线程(先 ...

  9. POJ 1845-Sumdiv(快速幂取模+整数唯一分解定理+约数和公式+同余模公式)

    Sumdiv Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  10. framework资源文件读取

    1.在framework里面读framwork自己的资源文件 这是framework内部的资源,跟其他都没有关系.但是framework不能单独存在,必须要放在某个“主程序”中才能起作用.bundle ...