Java 文本输入主要包含两种方法:FileRead -- 按字符读入,InputSreamReader -- 按行输入。

java 文本输出也包含两种方法:FileWriter 和 OuputStreamWriter,这两种都是按字符输出。

应用代码如下:

 package stream.inout;

 import java.io.*;

 public class FileStream {

     public static void main(String a[]){
String inputfilepath = "E:/in.txt";
/*
in.txt data :
12345
in2.txt data :
11
22
33
44
55
output1.txt data :
tttttrrrrreeeeewwwwwqqqqq
output2.txt data :
tttrrreeewwwqqq
*/ //method no.1 =======================================
try{
int []input1 = new int[5];
File inputfile = new File(inputfilepath);
if(inputfile.isFile() && inputfile.exists()){
//这里的读入是按字符读入
FileReader fileread = new FileReader(inputfile);
int tmp = 0;
int i = 0;
while((tmp = fileread.read()) != -1){
input1[i++] = tmp - '0';
}
fileread.close();
for(i = 0; i < 5; i ++)
System.out.println("input1[ " + i +" ]= " + input1[i]);
}else{
System.out.println("file is not exist");
}
}catch (Exception e){
System.err.println("error happened");
e.printStackTrace();
} //method no.2 =======================================
try{
String []input2 = new String[5];
String input2filepath = "E:/in2.txt";
File inputfile = new File(input2filepath);
if(inputfile.isFile() && inputfile.exists()){
//这里的读入是按行读入
InputStreamReader isr = new InputStreamReader(new FileInputStream(inputfile));
BufferedReader br = new BufferedReader(isr);
int i = 0;
String line = null;
//需注意的是每执行一次br.readLine(),就跳入下一行,故引入一个变量来记录
while((line = br.readLine()) != null){
input2[i++] = line;
}
br.close();
isr.close();
for(i = 0; i < 5; i ++)
System.out.println("input2[ " + i +" ]= " + input2[i]); }else{
System.out.println("file is not exist");
}
}catch (Exception e){
System.err.println("error happened");
e.printStackTrace();
} //output method no.1 ============================
String outputfile1 = "E:/output1.txt";
String outputfile2 = "E:/output2.txt";
try{
String []output = {"ttttt", "rrrrr", "eeeee", "wwwww", "qqqqq"};
FileWriter filewriter = new FileWriter(outputfile1, false);
for(int i = 0; i < 5; i ++){
filewriter.write(output[i]);
}
filewriter.close(); }catch (Exception e){
System.err.println("error happened");
e.printStackTrace();
}
//output method no.2 ============================
try {
String []output1 = {"ttt", "rrr", "eee", "www", "qqq"};
OutputStreamWriter outsw = new OutputStreamWriter(new FileOutputStream(outputfile2));
BufferedWriter bw = new BufferedWriter(outsw); for(int i = 0; i < 5; i ++){
bw.write(output1[i]);
}
bw.flush();
bw.close();
outsw.close();
} catch (Exception e) {
// TODO: handle exception
System.err.println("error happened");
e.printStackTrace();
}
} }

java文本输入输出小结的更多相关文章

  1. java IO 流小结

    java IO 流小结 java流类图结构 流的分类 按方向 输入流 输出流 按类型 字节流 字符流 结论:只要是处理纯文本数据,就优先考虑使用字符流. 除此之外都使用字节流.

  2. 在竞赛ACM Java处理输入输出

    一.Java之ACM注意点 1. 类名称必须采用public class Main方式命名 2. 在有些OJ系统上,即便是输出的末尾多了一个“ ”,程序可能会输出错误,所以在我看来好多OJ系统做的是非 ...

  3. java并发包小结(二)

    接上一篇 java并发包小结(一):http://blog.csdn.net/aalansehaiyang52/article/details/8877579 Future 接口Future 接口允许 ...

  4. Java基本输入输出

    Java基本输入输出 基本输入 基本输出 package com.ahabest.demo; public class Test { public static void main(String[] ...

  5. Java输入输出小结

    无论使用哪一种编程语言,输入输出都是我们首当其冲的,因此简单整理了 一下关于Java输入输出知识点,还有些内容摘自其它博客,忘见谅. 第一部分,让我们看一下Java的输出 public class M ...

  6. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  7. JAVA io 包小结

    IO 无非读写 I --> Reader  O--> Writer 为了方便字符 或者 文本文件的 操作创造出了 字符流 尤其是 缓冲字符输入输出流(BufferedReader,Buff ...

  8. Java I/O 小结

    主要内容: 一.输入流基类:InputStream 和 OutputStream(字节流). Reader 和 Writer(字符流) 二.文件字节流:FileInputStream和FileOutp ...

  9. java基本输入输出练习

    java获取用户的输入分两种,一种是字符的输入,一种是整行的输入,要用到java.io包.对于字符输入来说,使用System.in方法可以输入字符:对于整行的输入,可以使用Scanner类的方法获取整 ...

随机推荐

  1. 802.11 MAC层

    1. 介绍 本文主要介绍了802.11 MAC层 2. 访问机制 CSMA/CA:  Carrier Sense Multiple Access with Collision Avoidance Wi ...

  2. ios开发某个页面横不过来屏幕的时候

    某一个页面需要横屏,其他的页面任然保持竖屏需要以下关键的几个步骤: 1.修改系统代理方法的返回值 -(UIInterfaceOrientationMask)application:(UIApplica ...

  3. 洛谷2085最小函数值(minval) + 洛谷1631序列合并

    题目描述 有n个函数,分别为F1,F2,-,Fn.定义Fi(x)=Ai*x^2+Bi*x+Ci (x∈N*).给定这些Ai.Bi和Ci,请求出所有函数的所有函数值中最小的m个(如有重复的要输出多个). ...

  4. Linux基础学习5

    程序管理与SELinux初探 process&program  程序 (program):通常为 binary program ,放置在储存媒体中 (如硬盘.光盘.软盘.磁带等), 为实体档案 ...

  5. 228. 汇总区间(leetcode)

    #整体思路:使用堆栈,在Python中可以使用列表代替:如果a[i]-a[i-1]==1,就要将a[i]合并到之前的区间里,#所以我们队首位元素开辟一个区间为[a[0],a[0]]#做最后汇总时候,如 ...

  6. Hibernate get load的区别

    这两个函数都是用来从数据库中加载对象,其区别说起来主要有以下两点: 1.如果数据库中不存在该对象,那么load是抛出一个ObjectNotFound的异常,而get是返回一个空指针 2.加载机制不同 ...

  7. 2017.2.20 activiti实战--第二章--搭建Activiti开发环境及简单示例(一)搭建开发环境

    学习资料:<Activiti实战> 第一章 认识Activiti 2.1 下载Activiti 官网:http://activiti.org/download.html 进入下载页后,可以 ...

  8. zoj3329--One Person Game(概率dp第六弹:形成环的dp,带入系数,高斯消元)

    One Person Game Time Limit: 1 Second      Memory Limit: 32768 KB      Special Judge There is a very ...

  9. WebService中获取request对象一例

    @WebService @Service public class WeiXinWebServiceImpl implements IWeiXinWebService { @Resource priv ...

  10. mapreduce_template

    Hadoop Tutorial - YDN https://developer.yahoo.com/hadoop/tutorial/module4.html import java.io.IOExce ...