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学习笔记> 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定的数据,这个就 ...
随机推荐
- MCMC(一)蒙特卡罗方法
MCMC(一)蒙特卡罗方法 MCMC(二)马尔科夫链(待填坑) MCMC(三)M-H采样和Gibbs采样(待填坑) 作为一种随机采样方法,马尔科夫链蒙特卡罗(Markov Chain Monte Ca ...
- 如何记录selenium自动化测试过程中接口的调用信息
上一篇博客,我写了python自动化框架的一些知识和粗浅的看法,在上一篇中我也给自己提出一个需求:如果记录在测试过程中接口的调用情况?提出这个需求,我觉得是有意义的.你在测试过程中肯定会遇到一些莫名其 ...
- Meta http-equiv属性详解
http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...
- JS中的异步以及事件轮询机制
一.JS为何是单线程的? JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事.那么,为什么JavaScript不能有多个线程呢?这样能提高效率啊.(在JAVA和c#中的异步 ...
- OpenCV局部变形算法探究
OpenCV是跨平台的强大的计算机视觉识别和图像处理的开源库,可以利用他来实现:模式识别.构建神经网络.深度学习,总之用途多多,入门级就先做一下图像处理吧! 基本的图像处理算法(图像灰阶化.二值化.仿 ...
- Redis基础学习(三)—Key操作
一.key的相关操作 1.删除 del key1 key2 ... Keyn 作用: 删除1个或多个键. 返回值: 不存在的key忽略掉,返回真正删除的key的数量. 2.重命名 rename k ...
- JSON的数据类型
数据类型简介 在计算机中,我们需要知道正在处理什么类型的数据,因为不同类型的数据有着不同的操作途径.可以让两个阿拉伯数字相乘,但是不能让两个单词相乘. 在计算机科学中,有一种数据类型被称为原始数据类型 ...
- Linux服务器性能查看分析调优
一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...
- css常用技巧集合
1 不想让按钮touch时有蓝色的边框或半透明灰色遮罩(根据系统而定) /*解决方式一*/ -webkit-tap-highlight-color:rgba(0,0,0,0); -webkit-use ...
- 一个只有99行代码的JS流程框架
张镇圳,腾讯Web前端高级工程师,对内部系统前端建设有多年经验,喜欢钻研捣鼓各种前端组件和框架. 最近一直在想一个问题,如何能让js代码写起来更语义化和更具有可读性. 上周末的时候突发奇想,当代码在运 ...