文件的简单读写

这里写图片描述
Java重要的两个流

FileInputStream

该流用于从文件中读取数据。
1.可以使用字符串类型的文件名来创建一个输入流对象来读取文件。
例如:

String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
InputStream in = new FileInputStream(filename);

2.也可以使用一个文件对象来创建一个输入流对象来读取文件。但是首先需要使用File()方法来创建以恶搞文件对象,代码如下:

File f = new File("D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java");
InputStream in = new FileInputStream(f);

3.创建了一个InputStream对象以后,再来了解下它的一些方法。
close():关闭文件输入流并且释放与该流有关的所有系统资源。
read(int r):该方法从InputStream对象读取制定字节的数据。返回为整数值。返回下一字节的数据,如果已经到文件尾则返回-1。
read(byte[] r):该方法从输入流读取r.length长度的字节。返回读取的字节数,如果是文件尾则返回-1。
available():该方法返回下一次对此输入流调用的方法,可以不受阻塞地从此输入流读取的字节数。返回一个整数值。(读取剩下未读的)

FileOutPutStream

该流用于创建一个文件并且向文件中写数据。
如果该流再打开文件进行输出前,目标文件不存在,那么该流会创建该文件。
1.使用字符串类型的文件名来创建一个输出流对象

OutputStream f = new FileOutputStream("D:\\android\\file_operation\\test.txt");

2.也可以使用一个文件对象来创建一个输出流来写文件。首先用File()方法来创建一个文件对象。

File filename_2 = new File("D:\\android\\file_operation\\test.txt");
OutputStream out = new FileOutputStream(filename_2);

3.创建了一个OutputStream对象以后,再来了解下它的一些方法。
close():关闭此文件输入流并释放与该流有关的所有系统资源。
write(int w):该方法把指定的字节写到输出流中。
write(byte[] w):该方法把指定数组中w.length长度的字节写入OutputStream中去。

例子

这是一个从我电脑的D:\java运行环境\ZHL\src\java2018_8_5五子棋\GobangMain.java路径下获取文件中的内容,并且将其复制到这个路径下D:\android\file_operation\test.txt中的txt文件中。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class NoteDemo {
	
	public static void main(String[] args) {
		String filename = "D:\\java运行环境\\ZHL\\src\\java2018_8_5五子棋\\GobangMain.java";
		File filename_2 = new File("D:\\android\\file_operation\\test.txt");
		//先从地址filename中去读取文件中的内容存入str中去
		//再将str中内容写入一个记事本中去,记事本的路径自己给定
		try {
			//创建流
			InputStream in = new FileInputStream(filename);
			OutputStream out = new FileOutputStream(filename_2);
			try {
				//创建缓存区域读取字节文件
				byte buffer[] = new byte[in.available()];
				//读取字节文件
				in.read(buffer);
				//对字节进行处理
				String str = new String(buffer);
				System.out.println(str);
				//向该路径写入内容
		        out.write(str.getBytes());
				//关闭流
				in.close();
				out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		} catch (FileNotFoundException e1) {
			e1.printStackTrace();
		}
	}
}

运行结果是在java中输出前一个路径中的内容还有在第二个路径下创建自己命名好的txt文件,其中写入了前一个路径中的内容:
部分截图如下:
这里写图片描述
在D:\android\file_operation\test.txt路径下,创建好的txt文件:
这里写图片描述这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值