1.编写一个程序,读取源代码文件的内容并在控制台输出。如果源文件不存在,则显示相应的错误信息。

package src;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; public class test01 { public static void main(String[] args) {
File f = new File("test01.java");//文件当前目录下,在eclipse下是该工程目录下。
try {
FileReader fr = new FileReader(f);//将文件读取到内容中
int m;//int包含char的范围
while((m=fr.read())!=-1){
System.out.print((char)(m));//强制转为char
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

2.编写一个程序实现如下功能,从当前目录下的文件input.txt中读取80个字节(实际读到的字节数可能比80少)并将读来的字节写入当前目录下的文件output.txt中

package src;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class test01 { public static void main(String[] args) {
File f1 = new File("input.txt");
File f2 = new File("output.txt"); try {
FileInputStream fis = new FileInputStream(f1);
FileOutputStream fos = new FileOutputStream(f2); byte[] temp = new byte[80];//定义一个字节数组
fis.read(temp);//读到内存中
fos.write(temp);//写到文件 fis.close();
fos.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("运行结束");
}
}

3,使用java的输入/输出流技术将一个文本文件的内容按行读出,每读出一行就顺序添加行号,并写入到另一个文件中。

package src;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class test01 { public static void main(String[] args) {
File f1 = new File("input.txt");
File f2 = new File("output.txt"); try {
FileReader fr = new FileReader(f1);
FileWriter fw = new FileWriter(f2); BufferedReader br = new BufferedReader(fr);
BufferedWriter bw = new BufferedWriter(fw); String temp;
int i=1;//行号
while((temp=br.readLine())!=null){
bw.write(i+","+temp);
bw.newLine();//换行
i++;
}
bw.flush();//把缓冲区内容写到文件,如果没有这条语句,输出文件为空。
//使用缓存型流时操作完成后必须加上flush语句。
br.close();
bw.close();
br.close();
bw.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("运行结束");
}
}

4.编写一个程序,接收从键盘输入的数据,并把从键盘输入的内容写到input.txt文件中,如果输入"quit",则程序结束。

package src;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner; public class Test { public static void main(String[] args) {
File f = new File("input.txt");
try {
FileWriter fw = new FileWriter(f);
Scanner scanner = new Scanner(System.in);
String temp;
while(!((temp=scanner.nextLine()).equals("quit"))){
fw.write(temp);
}
fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

5.编写一个程序实现如下功能,文件input.txt是无行结构(无换行符)的汉语文件,从input中读取字符,写入文件output.txt中,每10个字符一行(最后一行可能少于10个字)

/*
 * 注意设置input.txt为UTF-8格式,否则读取中文显示乱码
*/
package src;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class test01 { public static void main(String[] args) {
File f1=new File("input.txt");
File f2=new File("output.txt");
try {
FileReader fr=new FileReader(f1);
FileWriter fw=new FileWriter(f2); char temp[]=new char[10];
int len;
while((len=fr.read(temp))!=-1)
{
if(len==10)
fw.write(new String(temp)+"\r\n");
/*
* windows下的文本文件换行符:\r\n linux/unix下的文本文件换行符:\r
* Mac下的文本文件换行符:\n
*/
else
fw.write(temp, 0, len);
}
fr.close();
fw.close(); } catch (FileNotFoundException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
System.out.println("程序结束");
}
}

6.逐行读取汉字文件,复制到另一个文件

package src;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class test01 {
public static void main(String[] args) {
File f = new File("input.txt");
File outFile=new File("output.txt");
InputStreamReader read = null;
OutputStreamWriter write=null; try {
read = new InputStreamReader (new FileInputStream(f));//注意事先设置好input.txt的编码格式为UTF-8,否则输出乱码
write=new OutputStreamWriter(new FileOutputStream(outFile));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} BufferedReader reader=new BufferedReader(read); String line; try {
while ((line = reader.readLine()) != null) { System.out.println(line);
write.write(line+"\r\n");
}
write.flush();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }

java输入输出流实例代码的更多相关文章

  1. Java输入/输出流体系

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

  2. Linux - 输入输出流程序 代码(C)

    输入输出流程序 代码(C) 本文地址:http://blog.csdn.net/caroline_wendy 使用输入输出流,控制文件流. STDIN_FILENO,STDOUT_FILENO代表标准 ...

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

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

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

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

  5. Java基础学习总结(47)——JAVA输入输出流再回忆

    一.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列. Java的I/O流提供了 ...

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

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

  7. Java输入输出流详解

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

  8. java基础---->java输入输出流

    今天我们总结一下java中关于输入流和输出流的知识,博客的代码选自Thinking in java一书.我突然很想忘了你,就像从未遇见你. java中的输入流 huhx.txt文件的内容如下: I l ...

  9. 【java开发系列】—— java输入输出流

    前言 任何语言输入输出流都是很重要的部分,比如从一个文件读入内容,进行分析,或者输出到另一个文件等等,都需要文件流的操作.这里简单介绍下reader,wirter,inputstream,output ...

随机推荐

  1. 集群高可用之lvs+keepalive

    集群高可用之lvs+keepalive keepalive简介: 负载均衡架构依赖于知名的IPVS内核模块,keepalive由一组检查器根据服务器的健康情况动态维护和管理服务器池.keepalive ...

  2. python 字典 key 和value 互换

    这里是一个可能有用的通过字典解析实现的小技巧: 交换字典的键和值. >>> a_dict = {'a': 1, 'b': 2, 'c': 3} >>> {value ...

  3. css3 nth-child 与 nth-of-type 的区别

    by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1709 一.深呼吸,直 ...

  4. AC日记——栈 洛谷 P1044

    题目背景 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表. 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈). 栈的重要性不言自明,任何 ...

  5. 前端跨域调请求 nginx反向代理

    用 本地pc的目录,请求192.168.3.246的接口,以/api为标识 运行命令: 启动 nginx -s start 重启 nginx -s relaod 停止 nginx -s stop 查看 ...

  6. Log4J使用详情

    一 .Log4J使用详情 Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以 ...

  7. 74.Search in a 2D Matrix

    /* * 74.Search in a 2D Matrix * 12.5 by Mingyang * 这里面的对应挺巧的: * 这个就是将2D矩阵转化成1行数组的对应表.所以对于二分查找法的初始值为: ...

  8. UItableView 所有内容保存为图片

    将所有的UITableView保存为图片,因为UITableView只能保存显示当前,所以,就单个保存后,合并为一张图片 代码如下: -(IBAction)savePic:(id)sender { / ...

  9. fatal error C1189: #error : core.hpp header must be compiled as C++

    两次opencv工程需要设置为C++编译:找了一半天的解决方法. I am building a C application that uses OpenCV. when compiling, I g ...

  10. javaweb 中的过滤器 包装器

    过滤器要做的事情: 请求过滤器:完毕安全检查,又一次格式化请求首部或体.建立请求审计或日志 响应过滤器:     压缩响应流,追加或改动响应流创建一个全然不同的响应. 过滤器和servlet三个相似地 ...