【原创】

java文件的I/O操作,简单来说就是向文件中写入数据以及从文件中读出数据,这是我们平日做的最多的操作,这里给出两种文件I/O操作,当然还有许多的操作方法,各种流的使用,可谓是高深莫测;不管了,直接怼代码:

 package com.jiajia.filedemo;

 import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class Demo_1 {
public static void main(String[] args) throws Exception{
String filename_input = "/Users/fanjiajia/Desktop/temp";
String filename_output = "/Users/fanjiajia/Desktop/temp2.txt";//若temp1不存在,他会自己给你创建一个
String str = read_1(filename_input);
System.out.println(str);
writer_2(str, filename_output);
}
/**
*文件读取方法一
* @param filename
* @return
* @throws Exception
*/
public static String read_1(String filename) throws Exception{
File f = new File(filename);
FileInputStream f_in = new FileInputStream(f);
InputStreamReader isr = new InputStreamReader(f_in);
BufferedReader buf_reader = new BufferedReader(isr);
String s;
StringBuilder sb = new StringBuilder();
while((s=buf_reader.readLine())!=null){
sb.append(s+"\n");
}
buf_reader.close();
isr.close();
f_in.close();
return sb.toString();
}
/**
* 文件读取方法二
* @param filename
* @return
* @throws Exception
*/
public static String read_2(String filename) throws Exception {
FileReader filereader = new FileReader(filename);
BufferedReader in = new BufferedReader(filereader);
String s ;
StringBuilder sb = new StringBuilder();
while((s=in.readLine())!=null){
sb.append(s+"\n");
}
in.close();
filereader.close();
return sb.toString();
} /**
* 文件写入方法一
* @param str
* @param filename
* @throws Exception
*/
public static void writer_1(String str,String filename ) throws Exception{
//将给定的字符串输出到filename文件中
FileWriter f_writer = new FileWriter(filename);
BufferedWriter buf_writer = new BufferedWriter(f_writer);
buf_writer.write(str);
buf_writer.close();
f_writer.close();
}
/**
* 文件写入方法二
* @param str
* @param filename
* @throws Exception
*/
public static void writer_2(String str,String filename) throws Exception{
File f = new File(filename);
FileOutputStream f_os = new FileOutputStream(f);
OutputStreamWriter os = new OutputStreamWriter(f_os);
BufferedWriter buf_writer = new BufferedWriter(os);
buf_writer.write(str);
buf_writer.close();
os.close();
f_os.close();
}
}

很明显直接使用FileReader 和 FileWriter这两个类并结合BufferedReader/BufferedWriter很方便

其实FileWriter类的对象w直接就可以write,并且在创建是=时候,如果是new FileWriter(。。。,true);第二个参数为true的话,便是在文件末尾写;

最新文章

  1. HA-0302 退役
  2. Odoo 路线规则实现机制浅析
  3. request获取各种信息
  4. jQuery应用之(二)使用jQuery管理选择结果(荐)
  5. DevExpress汉化(WinForm)
  6. hdu 1166 敌兵布阵(线段树单点更新,区间查询)
  7. php对比辨析之 mysql_escape_string & mysql_real_escape_string & addsalshes
  8. 【redis】02string类型和hash类型
  9. Android(java)学习笔记113:Android编写代码调用Vibrator震动功能(Bug:按下按钮button始终没有震动)
  10. CXF自动生成客户端
  11. DB操作用法总结。
  12. objective-c 中代码块(blocks)
  13. Neo4j 第五篇:批量更新数据
  14. 【WebGL】《WebGL编程指南》读书笔记——第5章
  15. 学习Yii框架,有哪些比较好的网站
  16. MarkDown语法学习
  17. Sqlite操作帮助类
  18. 模型-视图-控制器模式(MVC模式,10种常见体系架构模式之一)
  19. Daily Scrum 12.8
  20. leetcode ex3 找出穿过最多点的直线 Max Points on a Line

热门文章

  1. 辨析:Object与Instance都是对象,概念上没有区别。
  2. 自定义组件v-model的实质性理解
  3. 搭建mysql主从复制和删库数据恢复策略
  4. Percona-Toolkit工具包之pt-archiver
  5. linux命令之磁盘和文件系统操作
  6. Java OOP——第二章 继承
  7. 批处理,%~d0 cd %~dp0 代表什么意思
  8. 第五课:PHP echo和print 语句
  9. doc命令操作数据库(下)
  10. react native 踩坑之 SectionList state更新 不执行render重新渲染页面