字符输出流: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(字符流)的更多相关文章

  1. java学习笔记之字符流文件复制

    字符文件复制 FileReader fr =new FileReader("b.txt");//绑定源文件 FileWriter fw= new FileWriter(" ...

  2. java学习笔记16--I/O流和文件

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note16.html,转载请注明源地址. IO(Input  Output)流 IO流用来处理 ...

  3. java学习之IO字符流

    package com.io; import java.io.*; /** * 文件字符流的读取 * @author ganhang * */ public class FileReaderDemo ...

  4. 6.4(java学习笔记)转换流

    一.乱码问题 我们来看下列例子: public class ConStream { //当前平台默认采用GBK public static void main(String[] args){ Stri ...

  5. Java学习笔记——I/O流常用类之间的继承关系及构造方法

    朝辞白帝彩云间,千里江陵一日还. 两岸猿声啼不住,轻舟已过万重山. ——早发白帝城 总结一下有哪些I/O流: 输入流方法主要是read()和close(),输出流方法主要是write().flush( ...

  6. 6.3(java学习笔记)缓冲流

    一.缓冲流 使用缓冲流后的输入输出流会先存储到缓冲区,等缓冲区满后一次性将缓冲区中的数据写入或取出. 避免程序频繁的和文件直接操作,这样操作有利于提高读写效率. 缓冲流是构建在输入输出流之上的,可以理 ...

  7. 6.5(java学习笔记)其他流(字节数组流,数据流,对象流,打印流)

    一.字节数组流 之前使用输入输出流的操作的对象是文件,而这里字节数组流操作的对象是内存,内存可以看做是一个字节数组. 使用字节数组流读写就可以看做是从内存A到内存B的读写,对象时内存即字节数组. 1. ...

  8. Java学习笔记——I/O流

    朝辞白帝彩云间,千里江陵一日还.两岸猿声啼不尽,轻舟已过万重山. --早发白帝城 我们老师写代码有个特点,就是简洁.每一句的意图都十分明确.所以他讲课的速度也比较快. 跑题了,说说I/O流: 1.字节 ...

  9. java学习笔记38(sql注入攻击及解决方法)

    上一篇我们写了jdbc工具类:JDBCUtils ,在这里我们使用该工具类来连接数据库, 在之前我们使用 Statement接口下的executeQuery(sql)方法来执行搜索语句,但是这个接口并 ...

随机推荐

  1. 使用swiper插件,隐藏swiper后再显示,不会触发自动播放的解决办法

    问题: 项目中有一个需求,当点击P1时,两个页面进行轮播.当点击P2时,页面不轮播. 设置好以后,点击P2,再点击P1,此时页面不能自动轮播,只能手动触发. 解决: 在轮播器配置里,配置observe ...

  2. pycharm的断点调试【转自https://blog.csdn.net/weixin_39198406/article/details/78873120】

    1. show execution point (F10)显示目前项目所有断点2. step over (F8)下一步但仅限于设置断点的文件3. step into (F7)执行下一行4. step ...

  3. vue项目中使用axios上传图片等文件

    form表单提交图片会刷新页面,也可以时form绑定到一个隐藏的iframe上,可以实现无刷新提交数据. html代码: <input name="file" type=&q ...

  4. Element-UI使用指南

    原网址:https://blog.csdn.net/u012285967/article/details/53023825 Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌 ...

  5. PHPStorm 2018 的安装 汉化 与使用

    下载地址 和安装方法 链接:https://pan.baidu.com/s/1FT8aZoQajw044qlNXkRPfg 提取码:z4sx 配置与使用方法 https://blog.csdn.net ...

  6. java学习笔记(十一):重写(Override)与重载(Overload)

    重写(Override) 重写是子类对父类的允许访问的方法的进行重新编写, 但是返回值和形参都不能改变. 实例 class Animal{ public void run(){ System.out. ...

  7. 记录----第一次使用BFS(广度搜索)学习经验总结

    学习经验记录与分享—— 最近在学习中接触到了一种解决最短路径的实用方法----BFS(广度搜索),在这里总结并分享一下第一次学习的经验. 首先第一个要了解的是"queue"(队列函 ...

  8. JavaScript onclick传递对象参数(easyui传递一行数据时)错误:uncaught SyntaxError: Unexpected identifier

    JavaScript onclick传递对象参数(easyui传递一行数据时)错误:uncaught SyntaxError: Unexpected identifier 博主遇到的是用onclick ...

  9. cookie、sesstion、strorage

    1. cookie 第一:每个特定的域名下最多生成20个cookie  (数量上) <IE6: 20    |   >ie7:50   |  firefox: 50     |   IE ...

  10. stark组件开发之添加功能实现

    添加功能,还是使用, form 组件来完成!  并且 完成添加之后,需要保留原搜索条件. def memory_url(self): '''用于反向生成url, 并且携带,get请求的参数,跳转到下一 ...