Java学习笔记38(字符流)
字符输出流:Writer类:使用时候需要它的子类
局限性:只能写文本文件,无法写其他文件
方法:
package demo; import java.io.FileWriter;
import java.io.IOException; public class WriterDemo {
public static void main(String[] args) throws IOException {
FileWriter fw = new FileWriter("d:\\java.txt");
fw.write(100);// 写入:d
fw.flush();
// 注意每一次写都要使用flush方法
char[] cs = { 'a', 'b', 'c', 'd', 'e' };
fw.write(cs);// 写入:abcde
fw.flush();
fw.write(cs, 1, 2);// 写入:bc
fw.flush(); fw.write("java");// 写入:java
fw.flush(); fw.close();
}
}
字符输入流读文本:Reader类
同样有局限性,只能读文本文件
方法(使用上边写好的java.txt文本):
还是两种方式:
package demo; import java.io.FileReader;
import java.io.IOException; public class ReaderDemo {
public static void main(String[] args) throws IOException {
FileReader fr = new FileReader("d:\\java.txt");
int len = 0;
while ((len = fr.read()) != -1) {
System.out.print((char) len);
}
fr.close();
System.out.println("两种方法分界线"); FileReader fr1 = new FileReader("d:\\java.txt");
char[] ch = new char[1024];
while ((len = fr1.read(ch)) != -1) {
System.out.print(new String(ch, 0, len));
}
fr1.close();
}
}
复制文本文件:
package demo; import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; /*
* 字符流复制文本文件,而且必须是文本文件
* 字符流查询本机默认的编码表,简体中文GBK
* FileReader读取数据源
* FileWriter写入到数据目的
*/
public class Copy {
public static void main(String[] args) {
FileReader fr = null;
FileWriter fw = null;
try {
fr = new FileReader("c:\\1.txt");
fw = new FileWriter("d:\\1.txt");
char[] cbuf = new char[1024];
int len = 0;
while ((len = fr.read(cbuf)) != -1) {
fw.write(cbuf, 0, len);
fw.flush();
} } catch (IOException ex) {
System.out.println(ex);
throw new RuntimeException("复制失败");
} finally {
try {
if (fw != null)
fw.close();
} catch (IOException ex) {
throw new RuntimeException("释放资源失败");
} finally {
try {
if (fr != null)
fr.close();
} catch (IOException ex) {
throw new RuntimeException("释放资源失败");
}
}
}
}
}
Java学习笔记38(字符流)的更多相关文章
- java学习笔记之字符流文件复制
字符文件复制 FileReader fr =new FileReader("b.txt");//绑定源文件 FileWriter fw= new FileWriter(" ...
- java学习笔记16--I/O流和文件
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input Output)流 IO流用来处理 ...
- java学习之IO字符流
package com.io; import java.io.*; /** * 文件字符流的读取 * @author ganhang * */ public class FileReaderDemo ...
- 6.4(java学习笔记)转换流
一.乱码问题 我们来看下列例子: public class ConStream { //当前平台默认采用GBK public static void main(String[] args){ Stri ...
- Java学习笔记——I/O流常用类之间的继承关系及构造方法
朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 总结一下有哪些I/O流: 输入流方法主要是read()和close(),输出流方法主要是write().flush( ...
- 6.3(java学习笔记)缓冲流
一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...
- 6.5(java学习笔记)其他流(字节数组流,数据流,对象流,打印流)
一.字节数组流 之前使用输入输出流的操作的对象是文件,而这里字节数组流操作的对象是内存,内存可以看做是一个字节数组. 使用字节数组流读写就可以看做是从内存A到内存B的读写,对象时内存即字节数组. 1. ...
- Java学习笔记——I/O流
朝辞白帝彩云间,千里江陵一日还.两岸猿声啼不尽,轻舟已过万重山. --早发白帝城 我们老师写代码有个特点,就是简洁.每一句的意图都十分明确.所以他讲课的速度也比较快. 跑题了,说说I/O流: 1.字节 ...
- java学习笔记38(sql注入攻击及解决方法)
上一篇我们写了jdbc工具类:JDBCUtils ,在这里我们使用该工具类来连接数据库, 在之前我们使用 Statement接口下的executeQuery(sql)方法来执行搜索语句,但是这个接口并 ...
随机推荐
- laravel PHPExcel 使用小结
最近需求要用到PHPExcel,laravel框架中有相应的组件https://github.com/Maatwebsite/Laravel-Excel,我用的是2.1的(3.0文档不详细而且坑似乎也 ...
- VideoView 监听视频格式不支持时的错误。
视频播放格式不支持的处理https://www.cnblogs.com/ygj0930/p/7737209.html 不处理的情况下,默认会有弹框提示:不支持该视频格式. mVideoView.set ...
- cdnbest节点动态ip配置教程
1.安装节点后,在未初始化里初始化节点,如下图操作,要选择动态ip(注:动态ip节点不支持添加辅ip) 服务器如果是动态ip,选择了动态ip选项,节点在自动更换了新的ip后,在节点列表里的ip和dns ...
- 大数据入门到精通13--为后续和MySQL数据库准备
We will be using the sakila database extensively inside the rest of the course and it would be great ...
- 【Django】关于数据过滤
学到关于数据库过滤方面的内容总结部分注意点: views.py def TestFilter(request): # 多条件过滤 # list=BookInfo.book_manager.filter ...
- FOB cost---从工厂到码头的费用
1.主要是港杂费:陆运400元起,2个方450元,三个方500元,3个方以上按100元/方算起.
- 【python-dict】dict的使用及实现原理
以下内容是针对:python源码剖析中的第五章——python中Dict对象 的读书笔记(针对书中讲到的内容进行了自己的整理,并且针对部分内容根据自己的需求进行了扩展) 一.Dict的用法 Dict的 ...
- swift 警告框 - 自定义按钮颜色,图片
1.封装 弹框http://www.hangge.com/blog/cache/detail_651.html import UIKit extension UIAlertController { / ...
- spring多线程
Spring4.x高级话题(二):多线程 一. 点睛 Spring通过任务执行器(TaskExecutor)来实现多线程和并发编程.使用ThreadPoolTaskExecutor可实现一个基于线程池 ...
- django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call
Error info: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, ...