基本IO操作 、 文本数据IO操作    

java标准IO(input/output)操作

package day07;

import java.io.FileOutputStream;
import java.io.IOException; /**
* java标准IO(input/output)操作
* 输入流InputStrean:用于从数据源读取数据到程序中
* 输出流OutputStream:用于将数据发送至目标
*
* 流划分为:节点流,处理流
* 节点流:又叫做低级流,特点:数据源明确,真实负
* 责"搬运"数据的流读写的基础是节点流
* 处理流:又叫高级流,特点:不能独立存在(没有意义),
* 用来处理其他流,目的是简化读写操作
*
* 文件流
* 文件流是低级流,因为数据源明确,就是读写文件的
*
* 文件输出流:java.io.FileOutputStream
* 用于将数据写入到文件中
*
* @author adminitartor
*
*/
public class FileOutputStream_Write {
public static void main(String[] args) throws IOException {
/*
* 文件流有两种常用模式:
* 覆盖写操作,当构造方法只传入一个参数时:
* FileOutputStream(String path)
* FileOutputStream(File file)
* 那么若该文件已存在,会先将文件中所有数据
* 清除。
*
* 追加写操作:
* FileOutputStream(String path,boolean append)
* FileOutputStream(File file,boolean append)
* 若第二个参数为true,那么通过当前流写出的内容会
* 被追加到文件末尾。
*/
FileOutputStream fos
= new FileOutputStream(
"fos.txt",true
);
String str = "该配合你演出的我演视而不见!";
fos.write(str.getBytes("UTF-8"));
System.out.println("写出完毕!"); fos.close();
}
}

FileOutputStream_Write.java

文件输入流,用于从文件中读取字节的流,是低级流

package day07;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* java.io.FileInputStream
* 文件输入流
* 用于从文件中读取字节的流,是低级流
*
* @author adminitartor
*
*/
public class FileInputStream_Read {
public static void main(String[] args) throws IOException {
FileInputStream fis
= new FileInputStream("fos.txt"); byte[] data = new byte[200]; int len = fis.read(data); String str = new String(data,0,len,"UTF-8");
System.out.println(str); fis.close(); }
}

FileInputStream_Read.java

使用文件流复制文件

package day07;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; /**
* 使用文件流复制文件
* @author adminitartor
*
*/
public class CopyDemo1{
public static void main(String[] args) throws IOException {
FileInputStream fis
= new FileInputStream("music.mp3"); FileOutputStream fos
= new FileOutputStream("music_cp2.mp3"); byte[] buf = new byte[1024*10];
int len = -1; while((len = fis.read(buf))!=-1){
fos.write(buf,0,len);
} System.out.println("复制完毕!");
fis.close();
fos.close();
}
}

CopyDemo1.java

缓冲流 缓冲流是一对高级流,使用它们可以提高读写效率

java.io.BufferedOutputStream 缓冲字节输出流,用于提高写出效率

package day07;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException; /**
* 缓冲流 缓冲流是一对高级流,使用它们可以提高读写效率 java.io.BufferedOutputStream 缓冲字节输出流,用于提高写出效率
*
* java.io.BufferedInputStream 缓冲字节输入流,用于提高读取效率
*
* @author adminitartor
*
*/
public class CopyDemo2 {
public static void main(String[] args) throws IOException {
FileInputStream fis
= new FileInputStream("mv.mp4");
BufferedInputStream bis
= new BufferedInputStream(fis); FileOutputStream fos
= new FileOutputStream("mv_cp.mp4");
BufferedOutputStream bos
= new BufferedOutputStream(fos); int d = -1;
long start = System.currentTimeMillis();
while ((d = bis.read()) != -1) {
bos.write(d);
}
long end = System.currentTimeMillis(); System.out.println("复制完毕!耗时:"+(end-start)+"ms");
bis.close();
bos.close();
}
}

CopyDemo2.java

缓冲流写出数据的缓冲区问题

package day07;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException; /**
* 缓冲流写出数据的缓冲区问题
* @author adminitartor
*
*/
public class Bos_Write {
public static void main(String[] args) throws IOException {
FileOutputStream fos
= new FileOutputStream("bos.txt");
BufferedOutputStream bos
= new BufferedOutputStream(fos); String str = "i have a pen,i have a apple"; bos.write(str.getBytes());
/*
* void flush()
* 该方法可以强制将当前缓冲流中缓冲区中
* 的数据写出。
*/
bos.flush(); System.out.println("写出完毕!"); bos.close();
}
}

Bos_Write.java

JAVASE02-Unit07: 基本IO操作 、 文本数据IO操作的更多相关文章

  1. JAVASE02-Unit08: 文本数据IO操作 、 异常处理

    Unit08: 文本数据IO操作 . 异常处理 * java.io.ObjectOutputStream * 对象输出流,作用是进行对象序列化 package day08; import java.i ...

  2. Day03:文本数据IO操作 / 异常处理

    文本数据IO操作 Reader和Writer 字符流原理  Reader是字符输入流的父类  Writer是字符输出流的父类. 字符流是以字符(char)为单位读写数据的.一次处理一个unicode. ...

  3. MySQL数据库(2)- 库的操作、表的操作、数据的操作、存储引擎的介绍

    一.库的操作 1.系统数据库 执行如下命令,查看系统数据库: mysql> show databases; 参数解释: information_schema: 虚拟库,不占用磁盘空间,存储的是数 ...

  4. 文本数据IO操作--字符流

    一.Reader和Writer 1. 字符流原理 Reader是所有字符输入流的父类而Writer是所有字符输出流的父类.字符流是以字符(char)为单位读写数据的.一次处理一个unicode.字符流 ...

  5. 传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作

    不知不觉已到了第九天了,今天主要讲了关系数据库的基本概述.安装.数据库.表和数据行的操作 1. 基本概述 1.1 数据库就是用来存储数据的.早期是存在文件里面的操作起来效率低而且不是很安全. 1.2 ...

  6. c# 操作临时数据---XML操作

    class Config { static string path; /// <summary> /// 配置文件的路径 /// </summary> public stati ...

  7. AI学习---数据IO操作&神经网络基础

    数据IO操作 TF支持3种文件读取:    1.直接把数据保存到变量中    2.占位符配合feed_dict使用    3. QueueRunner(TF中特有的) 文件读取流程 文件读取流程(多线 ...

  8. JAVA IO操作:数据操作流:DataOutputStream和DataInputStream

    掌握DataOutputStream和DataInputStream的作用. 可以使用DataOutputStream和DataInputStream写入和读取数据. 在IO包中提供了两个与平台无关的 ...

  9. IO流之流的操作规律

    流的操作规律 IO流中对象很多,解决问题(处理设备上的数据时)到底该用哪个对象呢? 把IO流进行了规律的总结(四个明确): l  明确一:要操作的数据是数据源还是数据目的. 源:InputStream ...

随机推荐

  1. iOS 获取键盘view 覆盖新view

    UIWindow *window = [[[UIApplication sharedApplication] windows] lastObject];    UIView * keyview=[[w ...

  2. Python学习笔记(四)——编码和字符串

    一.编码 1.编码类别: (1)ASCII码:127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号 (2)GB2312码:中国制定的用于加入中文汉字的编码 (3)Unicode:防止由于 ...

  3. 浅谈SQLiteOpenHelper之onUpgrade例子

    当你看到这个博文,首先你要了解onCreate这个创建方法,再来继续下文!(可以参考我的上一个博文http://www.cnblogs.com/896240130Master/p/6119616.ht ...

  4. curl 小结

    cURL可以使用URL的语法模拟浏览器来传输数据, 因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以 ...

  5. Java 集合系列04之 fail-fast总结(通过ArrayList来说明fail-fast的原理、解决办法)

    概要 前面,我们已经学习了ArrayList.接下来,我们以ArrayList为例,对Iterator的fail-fast机制进行了解.内容包括::1 fail-fast简介2 fail-fast示例 ...

  6. 从零开始山寨Caffe·壹:仰望星空与脚踏实地

    请以“仰望星空与脚踏实地”作为题目,写一篇不少于800字的文章.除诗歌外,文体不限. ——2010·北京卷 仰望星空 规范性 Caffe诞生于12年末,如果偏要形容一下这个框架,可以用"须敬 ...

  7. 大端小端系统_union_栈的增长方向

    一道题引发的思考: 1.看一下之前写的union的特点,理解一下共享内存的概念 2.栈的增长方向是从高地址向低地址增长(数组比较特别,a[0]在低地址,a[n-1]在高地址)(堆由低地址到高地址存储) ...

  8. UILabel笔记(待完善)

    UIlabel的换行由 numberOfLines 属性控制,当为0时,则会自动换到适合的行数: 换行的模式由 lineBreakMode 属性控制: public enum NSLineBreakM ...

  9. java 实现冒泡排序

    public void bubbleSort(int[] arr) { boolean swapped = true; int j = 0; int tmp; while (swapped) { sw ...

  10. Random随机类(11选5彩票)BigInteger大数据类(华为面试题1000的阶乘)

    先上Java Web图 为了简化叙述,只写Java代码,然后控制台输出 使用[Random类]取得随机数 import java.util.Random; public class Fir { pub ...