对  byte 有了新的认知;byte表示一个字节 因此他可以表示成 一个 数字; 一个数字可以映射成一个字符;InputStream 中的 read() 函数  的意思是读入一个整数,读入一个整数的意思就是读入一个字节;而  read( byte b[] ) 是读入整个文档内容,可以这么认为 read是把 文本里面的所有数字读进去了;所以只要控制好  read() 函数就可以实现 一行一行读入了; 为什么write()函数写到文档里面不是数字 而是字符呢! 用 System.out.pirntln() 函数打印出来发现确实数字; 其实数字就是字符 字符就是数字,可以把那一堆字符看成数字;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.io.InputStream;
import java.util.Random; //import java.io.StringBufferInputStream; public class Number1 {
public static void main( String arg[] )throws Exception {
Random rad = new Random();
File file = new File("D:"+File.separator+"tt.txt");
file.createNewFile();
OutputStream out = new FileOutputStream(file);
for( int i = 100; i >= 0; i-- )
{
int n = rad.nextInt(4)+1; StringBuffer str = new StringBuffer();
for( int j = 0; j < n; j++ )str.append((char)(rad.nextInt(26) + 'a'));
str.append("\r\n");
out.write(str.toString().getBytes());
}
File file2 = new File("D:"+File.separator+"xx.txt");
file2.createNewFile();
OutputStream output = new FileOutputStream(file2); InputStream in = new FileInputStream(file);
byte b[] = new byte[100]; int sum = 0;
int len = (int)file.length();
for( int i = 0; i < len; i++ ){
byte temp = (byte)in.read();
if( temp != (byte)'\r' && temp != (byte)'\n' )
b[sum++] = temp;
else{
output.write( new String(b,0,sum).getBytes() ); sum = 0;
if( temp == (byte)'\r') output.write( (byte)'\r' );
else output.write( (byte)'\n');
}
}
in.close();
out.close();
}
}

java 输入输出流 关于InputStream 和 OutputSteam 实现文本一行一行读入和 文本一行一行输出的更多相关文章

  1. Java输入/输出流体系

    在用java的io流读写文件时,总是被它的各种流能得很混乱,有40多个类,理清啦,过一段时间又混乱啦,决定整理一下!以防再忘 Java输入/输出流体系 1.字节流和字符流 字节流:按字节读取.字符流: ...

  2. 深入理解Java输入输出流

    Java.io包的File类,File类用于目录和文件的创建.删除.遍历等操作,但不能用于文件的读写. Java 对文件的写入和读取涉及到流的概念,写入为输出流,读取为输入流.如何理解流的概念呢?可以 ...

  3. 转 Java输入输出流详解(非常详尽)

    转  http://blog.csdn.net/zsw12013/article/details/6534619 通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都 ...

  4. Java输入输出流详解

    通过数据流.序列化和文件系统提供系统输入和输出. Java把这些不同来源和目标的数据都统一抽象为数据流.Java语言的输入输出功能是十分强大而灵活的,美中不足的是看上去输入输出的代码并不是很简洁,因为 ...

  5. Java 输入输出流 转载

    转载自:http://blog.csdn.net/hguisu/article/details/7418161 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所 ...

  6. Java输入输出流(一)——常用的输入输出流

    1.流的概念:在Java中,流是从源到目的地的字节的有序序列.Java中有两种基本的流--输入流(InputStream)和输出流(OutputStream). 根据流相对于程序的另一个端点的不同,分 ...

  7. java 输入输出流1 FileInputStrem&&FileOutStream

    通过文件输入流读取问价 package unit6; import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...

  8. java输入输出流总结 转载

    一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是 ...

  9. Java输入输出流(转载)

    转自http://blog.csdn.net/hguisu/article/details/7418161 目录(?)[+] 1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作 ...

随机推荐

  1. LeetCode——largest-rectangle-in-histogram1

    Question Given n non-negative integers representing the histogram's bar height where the width of ea ...

  2. DataReader 连接数据库完整过程和代码(Sql Server)

    数据库名叫:Bu 有个表:A 里面有一列:ID 需要引用 using System.Data.SqlClient; 代码部分如下: SqlConnection sqlCon=new SqlConnec ...

  3. 浅谈C#泛型的定义、继承、方法和约束

    摘要:本文介绍了如何定义一个C#泛型类,以及实现泛型类的继承.方法和约束. C#泛型参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型 ...

  4. 前端要不要学数据结构&算法

    我们都知道前端开发工程师更多偏向 DOM 渲染和 DOM 交互操作,随之 Node 的推广前端工程师也可以完成服务端开发.对于服务端开发而言大家都觉得数据结构和算法是基础,非学不可.所以正在进行 No ...

  5. javaScript tips —— 标签上的data属性

    HTML5规定可以为元素添加非标准型的属性,只需添加前缀data-,这些属性可以随意添加,随意命名,目的是为元素提供与渲染无关的信息,或提供语义信息. 传统获取方式 'getAttribute' da ...

  6. 关于java.lang.Exception:No tests found matching的一系列解决方法

    问题描述: java.lang.Exception: No tests found matching [{ExactMatcher:fDisplayName=yahaa], {ExactMatcher ...

  7. 树 & 二叉树

    2018-01-04 19:13:46 一.树 在计算机科学中,树(英语:tree)是一种数据结构,用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点组成一个具有层次关系的集合.把 ...

  8. 设计模式--解释器模式C++实现

    1定义 给定一门语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子 2类图 角色分析 AbstractExpression抽象解释器,具体的解释任务由各个实现类完成, ...

  9. day37 爬虫2(web微信、高性能相关、Scrapy)

    s16day37 爬虫2 参考博客:http://www.cnblogs.com/wupeiqi/articles/6229292.html 课堂代码:https://github.com/liyon ...

  10. ASP.NET MVC添加Action就找不到

    这个诡异的bug困扰我好多回了,今天又碰到了,就把它记录下来吧. 不要随便改变web项目的编译路径 Output让它保持原样就好了...