本文实例讲述了java文件的简单读写操作方法。分享给大家供大家参考,具体如下:
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运行环境ZHLsrcjava2018_8_5五子棋GobangMain.java路径下获取文件中的内容,并且将其复制到这个路径下D:androidfile_operationtest.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:androidfile_operationtest.txt路径下,创建好的txt文件: