java基础之 IO流
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
2.字节输出流 :
OutPutStream : 他也是所有字节输出流的超类 ,也是一个抽象的类 ,使用子类
-----FileOutputStream 文件输出流
FileOutputStream 的使用步骤:
1.找到目标文件
2.建立通道
3.写入数据
4.关闭资源
FileOutputStream的使用注意事项:
1.使用FileOutputStream写数据的时候,如果目标文件不存在,那么就会自己创建一个目标文件对象。
2.使用FileOutputStream写数据的时候,如果目标文件存在,先将里面的数据清空,在写入数据。
3.使用FileOutputStream写数据的时候,如果目标文件存在,想将数据在原有的基础上追加,这个
时候就应该使用FileOutputStream(File file, boolean append) 构造方法, append如果为true表示
可以追加数据,反之不信。
4..使用FileOutputStream写数据的时候,用write(int a)方法写数据,虽然接收的是int ,但实际上只有一个字节的数据,
操作的是低八位的二进制 ,其他的24位全部丢掉。
练习题: 将一张图片拷贝到另外一个地方。
字节输出流代码:
public class Demo2 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
writeData();
//writeData2();
FileInputStream inp = new FileInputStream(new File("D:\\a.txt"));
byte[] b = new byte[1024];
inp.read(b);
System.out.println(Arrays.toString(b));
}
//方式二:
public static void writeData2() throws IOException{
//1.找目标文件
File file = new File("D:\\a.txt");
//2.创建一个通道
FileOutputStream outputStream = new FileOutputStream(file,true); // 在这一步创建的文件。
//3.创键一个字节数组
String str = "hello word";
//将字符串变为字节数组
byte[] b = str.getBytes();
//4.写入数据
outputStream.write(b);
//5.关闭资源
outputStream.close();
}
//方式一
public static void writeData() throws IOException{
//1.找目标文件
File file = new File("D:\\a.txt");
//2.创建一个通道
FileOutputStream outputStream = new FileOutputStream(file);
//3.开始写入数据
/*int a = 10; // 4个字节
outputStream.write(a); //每次输出一个字节
outputStream.write('b');
outputStream.write('c');*/
// 0000-0000 0000-0000 0000-0001 1111-1111 == 511
int a = 127;
outputStream.write(a); // 255
//4.关闭资源
outputStream.close();
}
}
java基础之 IO流的更多相关文章
- java基础之IO流(二)之字符流
java基础之IO流(二)之字符流 字符流,顾名思义,它是以字符为数据处理单元的流对象,那么字符流和字节流之间的关系又是如何呢? 字符流可以理解为是字节流+字符编码集额一种封装与抽象,专门设计用来读写 ...
- java基础之IO流(一)字节流
java基础之IO流(一)之字节流 IO流体系太大,涉及到的各种流对象,我觉得很有必要总结一下. 那什么是IO流,IO代表Input.Output,而流就是原始数据源与目标媒介的数据传输的一种抽象.典 ...
- Java基础之IO流整理
Java基础之IO流 Java IO流使用装饰器设计模式,因此如果不能理清其中的关系的话很容易把各种流搞混,此文将简单的几个流进行梳理,后序遇见新的流会继续更新(本文下方还附有xmind文件链接) 抽 ...
- 【java基础】]IO流
IO流 概念: 流的概念源于unix中管道(pipe)的概念,在unix中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备,外部文件等 一个流,一定能够会有源和去向(目的地),他 ...
- java基础44 IO流技术(输出字节流/缓冲输出字节流)和异常处理
一.输出字节流 输出字节流的体系: -------| OutputStream:所有输出字节流的基类(抽象类) ----------| FileOutputStream:向文件输出数据的输出字节流(把 ...
- java基础之io流总结一:io流概述
IO流概念: 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.io流是实现输入和输出的基础,可以方便的实现数据的输入和输出操作. IO流的分类: 根据处理数据类型的不同分为:字符流 ...
- 黑马程序员——JAVA基础之IO流FileReader,FileWriter
------- android培训.java培训.期待与您交流! ---------- IO(Input Output)流 IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方式 J ...
- java基础06 IO流
IO用于在设备间进行数据传输的操作. Java IO流类图结构: IO流分类 字节流: InputStream FileInputStream BufferedInputStream Output ...
- java基础之IO流及递归理解
一.IO流(简单理解是input/output流,数据流内存到磁盘或者从磁盘到内存等) 二.File类(就是操作文件和文件夹的) 1.FIleFile类构造方法 注意:通过构造方法创建的file对象是 ...
随机推荐
- Linux 特殊权限位
特殊权限位 LINUX 基本权限有9位但是还有三位特殊权限. suid s(有x权限) S(没有x权限) 4 在用户权限的第三位 sgid s(有x权限) S(没有x权限) 2 在用户组权限的第三位 ...
- python读取excel文件
一.xlrd的说明 xlrd是专门用来在python中读取excel文档的模块,使用前需要安装. 可以到这https://pypi.python.org/pypi/xlrd进行下载tar.gz文件,然 ...
- 学习Swift -- 协议(上)
协议(上) 协议是Swift非常重要的部分,协议规定了用来实现某一特定工作或者功能所必需的方法和属性.类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能.任意能够满足协议要求 ...
- 自定义Web控件写事件
--------------------myRegister1.ascx前台代码----------------------- <script src="js/Jquery1.7.js ...
- 关于if/else if
今天写存储过程的时候发现了个问题,就是在用if.elsif拼接sql的时候,得到的结果跟想象中 的不一样,大概描述是: 我传进去多个参数,然后判断每个字段是否为空,非空则将字段拼接上去,结果跟预料的 ...
- ZeroBraneStudio之支持GBK文件编码
费了好大劲终于搞定了让ZBS支持打开GBK文件了.记录下过程: 看源码发现ZBS打开文件时会调用src\editor\commands.lua中的LoadFile函数,代码如下: local file ...
- 转:使用Tengine替代Nginx作为负载均衡服务器
原文来自于:http://heylinux.com/archives/2938.html Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级 ...
- 并发视频,怎么hold住高并发
http://v.qq.com/boke/page/z/w/s/z0110e15rws.html http://weibo.com/codebox
- Jquery的attr属性
在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,用一个attr()就可以全部搞定了,赞一个先 ^^ jque ...
- Windows消息对Edit控件的处理
例如对windows发消息让文本选中. SendMessage(Text1.hwnd,EM_GETSEL,0,-1 ); EC_LEFTMARGIN(&H1) EC_USEFONTINF // ...