Java读写文件提供了几种流来提供文件读写。

FileWriter和FileReader

读写字符流。read()方法只支持对单个或指定个数的char读取。

import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;/**
* 使用FileWriter类写文本文件*/
public static void writeMethod1()
{String fileName="C:\\test.txt";try {//使用这个构造函数时,如果存在test.txt文件,//则先把这个文件给删除掉,然后创建新的test.txtFileWriter writer=new FileWriter(fileName);writer.write("This is a test\n");writer.close();} catch (IOException e){e.printStackTrace();}
}
//注意:上面的例子由于写入的文本很少,使用FileWrite类就可以了。但如果需要写入的
//内容很多,就应该使用更为高效的缓冲器流类BufferedWriter。/**
* 使用FileReader类读文本文件
*/
public static void readMethod1()
{String fileName="C:/test.txt";int c=0;try {FileReader reader=new FileReader(fileName);c=reader.read();while(c!=-1) {System.out.print((char)c);c=reader.read();}reader.close();} catch (Exception e) {e.printStackTrace();}
}

BufferedReader和BufferedWriter

读写字符流。也可以使用read()方法,readline()方法支持一次读取一行字符串。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;/**
* 使用BufferedReader类读文本文件
*/
public static void readMethod2()
{String fileName="c:/test.txt";String line="";try {BufferedReader in=new BufferedReader(new FileReader(fileName));line=in.readLine();//一次读取文件中的一行数据while (line!=null) {System.out.println(line);line=in.readLine();}in.close();} catch (IOException e) {e.printStackTrace();}
}/**
* 使用BufferedWriter类写文本文件
*/
public static void writeMethod2()
{String fileName="C:/test.txt";try {BufferedWriter out=new BufferedWriter(new FileWriter(fileName));out.write("Test:");out.newLine();  //注意\n不一定在各种计算机上都能产生换行的效果out.write("  This is a test!\n");out.close();} catch (IOException e) {e.printStackTrace();}
}

FileOutputStream和FileInputStream

读写字节流。read()方法从输入流中读取一个或指定长度的字节byte。

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileNotFoundException;
import java.io.IOException;/*** 使用FileInputStream类读文本文件* */
public static void readMethod3() {File file = new File("C:\\test.txt");try {//建立链接FileInputStream fileInputStream = new FileInputStream(file);int n = 0;byte[] b = new byte[2];while (n != -1) { //当n不等于-1,则代表未到末尾n = fileInputStream.read(b);//返回实际读取到字节数组中的字节数System.out.println(n);System.out.println(Arrays.toString(b)); //读取后的字节数组内容}System.out.println(new String(b));} catch (FileNotFoundException e) {System.out.println("文件不存在或者文件不可读或者文件是目录");} catch (IOException e) {System.out.println("读取过程存在异常");}
}/*** 使用FileOutputStream类写文本文件* */
public static void writeMethod3() {try {FileOutputStream fos = new FileOutputStream("test.txt")String content = "测试 FileOutputStream 写入。";byte[] bytes = content.getBytes();fos.write(bytes);} catch (IOException e) {e.printStackTrace();}
}

补充:当文件不存在时如何创建文件

String filePath = "C:/test.txt"
File file = new File(filePath);
if (!file.exists()) {file.createNewFile();
}

Java读写文件的常用方法相关推荐

  1. Java - 读写文件

    Java 读写文件 输入流和输出流的类层次图 FileInputStream 该流用于从文件读取数据. 我们可以使用 new 关键字来创建一个 FileInputStream 对象. FileInpu ...

  2. oracle写java文件_Oracle PL/SQL java读写文件权限问题得到解决

    在ORACLE中PL/SQL利用java读取文件 参考了 的内容,但是出现如下错误: Exception in thread "Root Thread" java.security ...

  3. Java读写文件的几种方式

    前言 Java中读写文件是非常基本的IO操作了,现在总结一下常见的用法.首先总结一下读取文件的步骤: 根据文件的路径获取到文件File对象 将File对象转换成输入流InputStream 将输入流读 ...

  4. 文件输出 java_用Java读写文件(输入/输出)-教程

    一.文件的Java I/O(输入/输出) 1.1.概述 在现代Java应用程序中,通常使用Java.nio.fileAPI来读写文件. Java将把所有输入作为字节流读取.input stream类是 ...

  5. java读写文件,读超大文件

    一直在处理爬虫,经常能遇到读写文件的操作,很多时候都是读写超大文件,记录如下:一.读文件import java.io.BufferedOutputStream;import java.io.Buffe ...

  6. Java 读写文件工具类

    今天简单写了一下读写文件用的工具类,方便后面开发或者测试时直接使用. import lombok.Cleanup; import java.io.*; import java.util.ArrayLi ...

  7. java读写文件操作

    将字符串写入文件: Code: import java.io.*; class FileOutputDemo { public static void main(String args[]) { Fi ...

  8. Java 读写文件大全

    原文:http://www.open-open.com/code/view/1423281836529 java中多种方式读文件 一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内 ...

  9. java 读写文件[多种方法]

    为什么80%的码农都做不了架构师?>>>    一.多种方式读文件内容 /*java中多种方式读文件 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读 ...

  10. java读写文件大全

    使用Java操作文本文件的方法详解 [http://blog.csdn.net/smartcat86/article/details/4085739/] 摘要: 最初java是不支持对文本文件的处理的 ...

最新文章

  1. 安装完python需要再安装编辑器-最好用的Python编辑器——Pycharm之安装与设置
  2. Java 并发框架全览,这个牛逼!
  3. GAN生成对抗网络-CycleGAN原理与基本实现-图像转换-10
  4. Java多线程初学者指南(12):使用Synchronized块同步变量
  5. bootstrap学习笔记(一)网络系统
  6. 一篇博客读懂设计模式之---动态代理与反射
  7. 后台长期运行进程的三种方式
  8. python的datetime.strptime_Python strptime()和时区?
  9. 【leetcode】726. Number of Atoms
  10. 事关Animation Tree的工作随笔(一)
  11. matplotlib—patches.Circle
  12. 【sklearn第一讲】scikit-learn 简介
  13. PLSQL设置字体大小
  14. duilib开发(六):基本控件介绍
  15. 安卓调用科大讯飞语音
  16. wangEditor 上传附件
  17. 大数据能破案 从数据库侦查出新证据
  18. 2018年第50周-maven脚手架: jc-spring-boot-rest-archetype
  19. 持续集成、持续交付、持续部署
  20. 小程序开发之瀑布流布局

热门文章

  1. 发现一个记录笔记的方法(康奈尔笔记即5R笔记)
  2. 学一级计算机需多久啊,BIM一级考试通关需要花多久来准备?
  3. IC卡CPU卡32位单片机S3系列接触式读写模块分类与性能攻略
  4. 近十年谷歌Google I/O大会导读
  5. 计算机网络局域网的组建实验报告,小型局域网组建实验报告
  6. 高中计算机会考操作试题,高中信息技术会考(上机操作题要点)
  7. android apk反编译(Doapk工具和dex2jar工具介绍)
  8. java使用水晶报表,java水晶报表实例教程
  9. 三相逆变器仿真matlab,在MATLAB中实现三相电压逆变器仿真
  10. 2003服务器系统安装不上网卡,win2003无线网卡驱动无法安装怎么办