Java学习笔记——I/O流
朝辞白帝彩云间,千里江陵一日还。
两岸猿声啼不尽,轻舟已过万重山。
——早发白帝城
我们老师写代码有个特点,就是简洁。每一句的意图都十分明确。所以他讲课的速度也比较快。
跑题了,说说I/O流:
1、字节输入流
2、字符输入流
3、字节输出流
4、字符输出流
上代码:
public class FileInputStreamAndFileoutputSteamDemo {
public static void main(String[] args) throws IOException {
FileOutputStream fos = new FileOutputStream("/home/yanshaochen/public/abc.txt");
byte[] bytes = new byte[];
bytes = "金麟岂是池中物,一遇风云变化龙".getBytes();
fos.write(bytes);
fos.close();
FileInputStream fis = new FileInputStream("/home/yanshaochen/public/abc.txt");
String str = "";
int data;
while ((data = fis.read(bytes)) != -) {
str += new String(bytes, , data);
}
System.out.println(str);
fis.close();
}
}
public class WriterAndReader {
public static void main(String[] args) throws IOException {
String path = "/home/yanshaochen/public/abc.txt";
Writer wt = new FileWriter(path);
String str = "AAAAA";
wt.write(str);
wt.close();
Reader rd = new FileReader(path);
char[] chars = new char[];
int data;
str = "";
while ((data = rd.read(chars))!=-) {
str += new String(chars, , data);
}
System.out.println(str);
rd.close();
}
}
带缓冲区的字符输入输出流
public class BufferedReaderAndBufferedWriter {
public static void main(String[] args) throws IOException {
Writer fw = new FileWriter("/home/yanshaochen/public/abc.txt");
BufferedWriter bw = new BufferedWriter(fw);
String str = "AAAAAAAA";
bw.write(str);
bw.newLine();
bw.close();
Reader fr =new FileReader("/home/yanshaochen/public/abc.txt");
BufferedReader br = new BufferedReader(fr);
while ((str = br.readLine())!= null) {
System.out.println(str);
}
br.close();
}
}
字节流读写二进制
public class DataInputStreamDemo {
public static void main(String[] args) throws IOException {
//原始地址
InputStream is = new FileInputStream("/home/yanshaochen/图片/2017-05-06 15-12-02屏幕截图.png");
DataInputStream dis = new DataInputStream(is);
//目标地址
OutputStream os = new FileOutputStream("/home/yanshaochen/public/2017-05-06 15-12-02屏幕截图.png");
DataOutputStream dos = new DataOutputStream(os);
byte[] bytes = new byte[];
int data;
while((data = dis.read(bytes)) != -){
dos.write(bytes,,data);
}
System.out.println("copy ok!");
dos.close();
dis.close();
}
}
Java学习笔记——I/O流的更多相关文章
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- 6.3(java学习笔记)缓冲流
一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...
- 6.5(java学习笔记)其他流(字节数组流,数据流,对象流,打印流)
一.字节数组流 之前使用输入输出流的操作的对象是文件,而这里字节数组流操作的对象是内存,内存可以看做是一个字节数组. 使用字节数组流读写就可以看做是从内存A到内存B的读写,对象时内存即字节数组. 1. ...
- 6.4(java学习笔记)转换流
一.乱码问题 我们来看下列例子: public class ConStream { //当前平台默认采用GBK public static void main(String[] args){ Stri ...
- Java学习笔记——I/O流常用类之间的继承关系及构造方法
朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 总结一下有哪些I/O流: 输入流方法主要是read()和close(),输出流方法主要是write().flush( ...
- java学习笔记之字符流文件复制
字符文件复制 FileReader fr =new FileReader("b.txt");//绑定源文件 FileWriter fw= new FileWriter(" ...
- Java学习笔记-10.io流
1.输入流,只能从中读取数据,而不能向其写出数据.输出流,只能想起写入字节数据,而不能从中读取. 2.InputStream的类型有: ByteArrayInputStream 包含一个内存缓冲区,字 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第十周《Java学习笔记》
20145330第十周<Java学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...
随机推荐
- iwebshop里面传数组且输出
//php后台 $starttimestr = $arr[0]['forea_time']; $endtimestr = $arr[0]['end_time']; $data['starttime'] ...
- 原生JS实现弹出窗口的拖拽
上一篇说了一下弹出窗口功能的实现思路,一般情况下紧接着就会需要做到弹窗的移动,当然现在有很插件.库比如hammer可以使用,效率也非常好.但我觉得还是有必要了解一下原生JS的实现思路及方式,如下: 思 ...
- 机器学习:python中如何使用朴素贝叶斯算法
这里再重复一下标题为什么是"使用"而不是"实现": 首先,专业人士提供的算法比我们自己写的算法无论是效率还是正确率上都要高. 其次,对于数学不好的人来说,为了实 ...
- PMP和PRINCE2应该选择哪个?光环国际项目管理认证
对于项目管理课程的选择,我们不能盲目地做选择,一定要从自身实际出发.从来都没有更好的课程,只有更合适自己的课程. 那么,如何选择合适自己的项目管理课程呢? 让我们从PMP与PRINCE2之间的差异开始 ...
- Excel图表-创意雷达图-原创图表
p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...
- Async/Await替代Promise的6个理由
译者按: Node.js的异步编程方式有效提高了应用性能:然而回调地狱却让人望而生畏,Promise让我们告别回调函数,写出更优雅的异步代码:在实践过程中,却发现Promise并不完美:技术进步是无止 ...
- 4.Java集合总结系列:Map接口及其实现
一.Map接口 Map集合的特点是:通过key值找到对应的value值,key值是唯一的,value可以重复.Map中的元素是无序的,但是也有实现了排序的Map实现类,如:TreeMap. 上面Map ...
- Redis基础学习(一)—Redis的安装
一.Redis的安装 1.在Linux环境下安装gcc环境 yum install gcc-c++ 2.解压缩Redis源码包 tar -zxf redis-3.0.0.tar.gz 3.编译 ...
- 1164: 零起点学算法71——C语言合法标识符(存在问题)
1164: 零起点学算法71——C语言合法标识符 Time Limit: 1 Sec Memory Limit: 64 MB 64bit IO Format: %lldSubmitted: 10 ...
- 为Jquery EasyUI 组件加上“清除”功能
1.背景 在使用 EasyUI 各表单组件时,尤其是使用 ComboBox(下拉列表框).DateBox(日期输入框).DateTimeBox(日期时间输入框)这三个组件时,经常有这样的需求,下拉框或 ...