字节流:
        FileInputStream读取,FileOutputStream输出

  字节流使用数组缓冲区复制文件,最后得出所使用的时间

         public class work2 {
public static void main(String[] args) {
FileOutputStream out=null;
FileInputStream in=null;
Date a=new Date();
try {
out=new FileOutputStream("D:\\test\\d\\eclipse.zip");
in=new FileInputStream("D:\\test\\eclipse.zip");
byte[] b=new byte[1024*1024];
int len=0; while((len=in.read(b))!=-1)
{
out.write(b,0,len);
}
} catch (IOException e) { e.printStackTrace();
}finally{
try {
out.close();
} catch (IOException e) { e.printStackTrace();
}
try {
in.close();
} catch (IOException e) { e.printStackTrace();
}
}
Date b=new Date();
System.out.println(b.getTime()-a.getTime());
}
}

字符流:
        FileReader 字节流读取  FileWriter 字节流输出

  字节流使用数组缓冲区复制文件

         public class copy {
public static void main(String[] args) throws IOException {
FileReader fr=new FileReader("D:\\test\\a.txt");
FileWriter fw=new FileWriter("D:\\test\\d\\a.txt");
char[] ch=new char[2];
int len=0; while((len=fr.read(ch))!=-1)
{
fw.write(ch,0,len);
System.out.println((char)len);
fw.flush();
}
fw.close();
fr.close();
}
}

转换流:

  借助字节流写入方法,将字节流转换成字符流并且规定编码格式,例如编码格式为utf-8
        FileOutputStream fo=new FileOutputStream("D:\\test\\d\\utf.txt");

OutputStreamWriter osw=new OutputStreamWriter(fo, "utf-8");

FileInputStream fi=new FileInputStream("D:\\test\\utf.txt");

InputStreamReader isr=new InputStreamReader(fi,"utf-8");

缓冲区:
        //字符流缓冲区
        FileReader fr=new FileReader("D:\\test\\aaa.txt");
        BufferedReader br=new BufferedReader(fr);
        //明确目的地
        FileWriter fw=new FileWriter("D:\\test\\d\\aaa.txt");
        BufferedWriter bw=new BufferedWriter(fw);

//字节流缓冲区
        FileInputStream fi=new FileInputStream("D:\\codetool\\eclipse.zip");
        BufferedInputStream bi=new BufferedInputStream(fi);
        FileOutputStream fo=new FileOutputStream("D:\\test\\eclipse.zip");
        BufferedOutputStream bo=new BufferedOutputStream(fo);

  跨平台换行:.newLine();
  读取一整行:readline();

Properties类
用于操作配置文件,后缀名只能是properties的文件

方法:
    load(input字符流或字节流对象);
    store(output字符流或字节流对象,描述信息);
        
写入:
    创建对象:Properties prop = new Properties();
    写入prop集合:prop.setProperty("周迅", "张学友");
    创建字符流文件写入:FileWriter out = new FileWriter("prop.properties");
    写入:prop.store(out,"描述");

取出:
    创建集合:Properties prop = new Properties();
        创建流对象:
        FileInputStream in = new FileInputStream("prop.properties");
              //FileReader in = new FileReader("prop.properties");
        把流所对应文件中的数据 读取到集合中:
        prop.load(in);
        4,关闭流:
        in.close();
        5,显示集合中的数据:
        System.out.println(prop);

IO字节流与字符流的操作的更多相关文章

  1. IO流回顾与总结第一篇之字节流与字符流的操作。。。。。

    一.引言 趁着年后的这点时间,抓紧点时间回顾下javase中的IO流,以往都是用到那些常用的IO类,这次来个全点的,有不对的地方还请大神指正一下,做到坚持写博的习惯来...... 回归正题,IO流顾名 ...

  2. JAVA IO 字节流与字符流

    文章出自:听云博客 题主将以三个章节的篇幅来讲解JAVA IO的内容 . 第一节JAVA IO包的框架体系和源码分析,第二节,序列化反序列化和IO的设计模块,第三节异步IO. 本文是第一节.     ...

  3. 14、IO (字节流、字符流)

    输入和输出 * A:输入和输出 * a: 参照物 * 到底是输入还是输出,都是以Java程序为参照 * b: Output * 把内存中的数据存储到持久化设备上这个动作称为输出(写)Output操作 ...

  4. 字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)

    操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为 ...

  5. Java IO 字节流与字符流 (三)

    概述 IO流用来处理设备之间的数据传输 Java对数据的操作时通过流的方式 Java用于操作流的对象都在IO包中 流按操作的数据分为:字节流和字符流 流按流向不同分为:输入流和输出流 IO流常用基类 ...

  6. Java IO 字节流与字符流 (二)

    1. 什么是流 Java中的流是对字节序列的抽象,我们可以想象有一个水管,只不过现在流动在水管中的不再是水,而是字节序列.和水流一样,Java中的流也具有一个“流动的方向”,通常可以从中读入一个字节序 ...

  7. Java提高篇(二):IO字节流、字符流和处理流

    在我们的Java语言当中,通常会有对文件进行读写,因此我们引入java的IO类来进行文件的读写. 一.字节流 下面是一个字节流的实例: import java.io.*; public class I ...

  8. Java IO 字节流与字符流 (五)

    Java的IO流分为字符流(Reader,Writer)和字节流(InputStream,OutputStream),字节流顾名思义字节流就是将文件的内容读取到字节数组,然后再输出到另一个文件中.而字 ...

  9. java 字节流与字符流的区别

    字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作 ...

随机推荐

  1. [故障解决]图文:windows apache无法启用 端口被占用

    windows apache无法启用 端口被占用 1 XAMPP Error: Apache shutdown unexpectedly 无法启动apache,显示的log为: 2 查了一下端口, 通 ...

  2. fullpage.js禁止滚动

    http://www.wenjiangs.com/doc/fullpage-method 转载于:https://www.cnblogs.com/hzz-/p/8268771.html

  3. MODIS系列之NDVI(MOD13Q1)五:NDVI处理流程

    前言:(个人建议) 1.进行数据处理工作,由于通常数据量比较大.所以在个人电脑中,要将基础数据.不断增长的过程数据.结果数据等分门别类,使得简单易找. 2.将重要数据备份,因为在数据处理过程中,由于出 ...

  4. GCRoots

    JVM面试汇总 JVM垃圾回收的时候如何确定垃圾?是否知道什么是GC Roots 什么是垃圾 简单来说就是内存中已经不再被使用的空间就是垃圾 如何判断一个对象是否可以被回收 引用计数法 Java中,引 ...

  5. 选择结构(if、switch)

    3.2  用if语句实现选择结构 什么是选择结构 单分支if语句 双分支if语句 多分支if语句 1.什么是选择结构? 选择结构又称为分支结构,是根据给定的条件是否成立来决定程序的执行流程. 用if语 ...

  6. mac下xampp访问php显示403错误

    错误描述 New xampp security concept: Access Forbidden Error 403 错误分析和解决 403就是我们访问的时候,被安全策略拒绝了,解决方法 找到文件 ...

  7. 【HBase】协处理器是什么?又能干什么?怎么用?

    目录 简单了解 官方帮助文档 协处理器出现的原因 协处理器的分类 Observer Endpoint Phoenix 协处理器的使用 加载方式 静态加载 动态加载 协处理器的卸载 协处理器Observ ...

  8. QTreeWidget更新后保存节点的展开状态

    class Xx : public QWidget { Q_OBJECT struct ItemState{ ItemState(); int _id; bool _isExpend; }; publ ...

  9. abp web.mvc项目中的菜单加载机制

    abp中的菜单加载机制 在abp中菜单的定义与我们传统写的框架不一样,它是在编写代码的时候配置,而我们一般写的通用权限管理系统中,是后期在后台界面中添加的.这一点有很大不同.abp关于菜单的定义及管理 ...

  10. centos下mysql 看不到mysql数据库(密码无法更改)

    1.这可能是因为mysql数据库的user表里,存在用户名为空的账户即匿名账户,导致登录的时候是虽然用的是root,但实际是匿名登录的 2.解决方案 2.1.关闭mysql service mysql ...