文档章节

字符流实例

d
 dqsnzs
发布于 2017/06/21 16:45
字数 362
阅读 1
收藏 0

package cn.dqs;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Reader;
import java.io.Writer;
import java.util.Arrays;

import org.junit.Test;

/*
 * 字符流作业
 *a、使用File类创建源数据源D:\my\io\read.template文件
 *b、使用字符输出流对read.template文件写入20个汉字内容
 *c、读取read.template文件内容,对字符进行排序输出到目标文件D:\my\io\readTarget.template中
 */
public class Demo2 {

    // 创建File类文件夹
    public static void createDir(String fileDir) {
        // 创建目录
        File f = new File(fileDir);
        if (!f.exists()) {
            f.mkdirs();
            System.out.println("创建目录成功!");
        } else {
            System.out.println("目录已经存在!");
        }
    }

    @Test
    public void testCreateDir() {
        createDir("D:\\my\\io");
    }

    // 使用字符输出流对read.template文件写入20个汉字内容
    public static void write(String path, String st) {
        Writer wt = null;
        try {
            wt = new FileWriter(path);
            wt.write(st);
            wt.flush();
            System.out.println("输入成功!");
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (wt != null)
                    wt.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    @Test
    public void testWrite() {
        write("D:\\my\\io\\read.template", "社会主义根本任务是解放生产力和发展生产力");
    }

    // 读取read.template文件内容,对字符进行排序输出到目标文件D:\my\io\readTarget.template中
    public static void readAndWriter(String origin, String target) {
        Reader rd = null;
        Writer wt = null;
        try {
            rd = new FileReader(origin);
            wt = new FileWriter(target);
            StringBuffer sc = new StringBuffer();
            int data = 0;
            while ((data = rd.read()) != -1) {
                sc.append((char) data);
            }
            String st = sc.toString();
            char[] ch = st.toCharArray();
            Arrays.sort(ch);
            wt.write(ch);
            wt.flush();
            System.out.println("成功输入到目标文件!");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                if (wt != null)
                    wt.close();
                if (rd != null)
                    rd.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }

    @Test
    public void testReadAndWrite() {
        readAndWriter("D:\\my\\io\\read.template", "D:\\my\\io\\readTarget.template");
    }
}

© 著作权归作者所有

上一篇: 字节流实例
d
粉丝 0
博文 3
码字总数 1191
作品 0
合肥
程序员
私信 提问
Java:字节流和字符流(输入流和输出流)

什么是流 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互...

编程SHA
2018/12/12
0
0
Java IO流知识汇总

java.io.File类的使用: File类用构造器创建其对象,此对象可以对应文件,也可以对应文件目录。 File对象与平台无关;File中的方法仅涉及到如何创建、删除、重命名等操作,涉及到文件内容就要...

祁猛
2016/10/24
14
0
Java基于代码实战的字符流父类、字符转换流、缓冲字符流、过滤流

Java输入输出(I/O)流的知识回顾: 补充:因为这篇文章是基于上一篇的延续,因此将上一篇进行简单的回顾,以便理解本节内容。 1)输入输出(I/O)流分类:共分为字节型输入输出流和字符型输入...

孟飞阳
2017/10/20
0
0
小博老师解析Java核心技术 ——I/O流

[引言] 我们在学习Java编程的时候,经常会遇到文件数据的各类操作,这类操作一般都会借助于JDK中的I/O流对象。我们知道JDK中I/O流的实现类有很多种类型,那么在实际操作中我们该如何取舍呢?...

博为峰教研组
2016/12/13
7
0
Java IO流分析整理——概念

Java中的流,可以从不同的角度进行分类。 按照数据流的方向不同可以分为:输入流和输出流。 按照处理数据单位不同可以分为:字节流和字符流。 按照实现功能不同可以分为:节点流和处理流。 ...

的书法上的
2014/05/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C 语言 二级指针的使用

#include <stdio.h>#include <stdlib.h>typedef struct node Node;struct node {int data;struct node* next;struct node* prev;};Node head;Node* insert(Node......

小张525
27分钟前
2
0
【大数据技术】——Hadoop(1)

什么是大数据 基本概念 《数据处理》 在互联网技术发展到现今阶段,大量日常、工作等事务产生的数据都已经信息化,人类产生的数据量相比以前有了爆炸式的增长,以前的传统的数据处理技术已经...

须臾之余
41分钟前
6
0
比特币从地址逆向计算私钥

区块链 区块链简介 说到比特币,就不得不提区块链。那什么是区块链呢? 区块链本质是一个数据集,只不过数据的组织采用了比较特殊的方式,就是把数据拆分为一块一块的小数据集。 为什么要进行...

trayvon
55分钟前
1
0
TypeScript……真香

写前端或者用 node 写命令行小工具一直采用的 es6 的语法,对于 TypeScript 则是秉持敬而远之的态度,毕竟团队中多推广一门语言所需要花费的精力都是让人望而却步的。所以对于 JavaScript 的...

郁也风
今天
3
0
shell基本案例

1、自定义rm linux系统的rm命令太危险,一不小心就会删除掉系统文件。 写一个shell脚本来替换系统的rm命令,要求当删除一个文件或者目录时,都要做一个备份,然后再删除。下面分两种情况,做...

寰宇01
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部