java文件的I/O
【原创】
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的话,便是在文件末尾写;
java文件的I/O的更多相关文章
- 小兔Java教程 - 三分钟学会Java文件上传
今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...
- 从java文件和CS文件里查询方法使用次数工具
前几天,领导让我找一下老系统(Java)里getRemoteUser方法都哪个文件用了,package是什么,方法被调用了多少次,当时因为着急,所以,直接人工找的,但是以后要是再出现,人工找就太讨厌了 ...
- 一个Java文件至多包含一个公共类
编写一个java源文件时,该源文件又称为编译单元.一个java文件可以包含多个类,但至多包含一个公共类,作为编译时该java文件的公用接口,公共类的名字和源文件的名字要相同,源文件名字的格式为[公共类 ...
- Android Studio解决未识别Java文件(出现红J)问题
1.问题:java文件出现了红J的问题,正常情况下应该是显示蓝色的C标识. 2.解决方案:切换到project视图下,找到app这个module里的build.gradle,在android结构里插入 ...
- Eclipse不自动编译java文件的终极解决方案
最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...
- Java基础-一个java文件多个类的问题
一个.java文件当然可以包括多个类.但这些类有一个特殊的类与其它的不同,,这个类是带public 属性的类.一个.java类文件中仅有一个public属性的类.而且这个类与文件名相同.
- 【安卓】安卓res文件夹下的资源文件与R.java文件里面类的对应关系
对于drawable.layout.menu文件夹下的每一个文件都分别会在R.java文件里面生成drawable.layout.menu类的一个常量,类名就是文件夹的名字,常量的名字就是文件名字. ...
- java文件来演示如何访问MySQL数据库
java文件来演示如何访问MySQL数据库. 注:在命令行或用一个SQL的前端软件创建Database. 先创建数据库: CREATE DATABASE SCUTCS; 接着,创建表: CREATE ...
- Intellij Idea 工具在java文件中如何避免 import .*包
Intellij Idea工具在java文件中怎么避免import java.utils.*这样的导入方式,不推崇导入*这样的做法!Editor->Code Style->Java-> ...
- gen目录无法更新,或者gen目录下的R.JAVA文件无法生成
gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自 ...
随机推荐
- ORACLE 账户解除锁定
用pl/sql连接数据库发现账户被锁定.本以为管理员账户才能解锁.同其他账户登录也能解锁 pl/sql下执行命令 alter user **** account unlock ***处为待解锁的 ...
- ios appstore 上架应用被拒绝原因
ios appstore 上架应用被拒绝原因 应用程序崩溃 界面布局有明显错误挂羊头卖狗头的应用包括未公开的或隐藏功能的使用私有API应用程序读取或写入数据超出其指定的容器区域以任何方式下载代码的应用 ...
- Linux基础 ppt pptx
引言 以前写过一个讲 Linux 基础的ppt,琢磨着把它分享出来,有需要的请自取. 部分截图如下 下载地址 下载地址1
- 洛谷P3871 [TJOI2010]中位数(splay)
题目描述 给定一个由N个元素组成的整数序列,现在有两种操作: 1 add a 在该序列的最后添加一个整数a,组成长度为N + 1的整数序列 2 mid 输出当前序列的中位数 中位数是指将一个序列按照从 ...
- WebMagic 启动例子报错
报错内容: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/conn/Http ...
- 访问本地方站出现EOF的分析和解决
每天早晨打开电脑运行本地项目的时候,有时候浏览器上会出现EOF 之前都都能正常访问,所以我猜想本地的项目本身肯定是没有问题的. Google了下,发现有人说是代理的问题,于是关闭代理试过后,发现可以访 ...
- linux运维、架构之路-shell编程(一)
一.shell编程入门必备基础 1.vim编辑器的命令,vimrc设置 2.150个linux基础命令 3.linux中基础的系统服务crond,ssh网络服务,nfs,rsync,inotify,l ...
- redis搭建
redis 1.简介.安装 Remote Dictionary Server(Redis)是一个基于 key-value 键值对的持久化数据库存储系统.redis 和 Memcached 缓存服务很像 ...
- elasticsearch 5.x 系列之五 数据导入导出
一.首先给大家发一个福利,分享一个elasticsearch 数据导出工具. esm github 源码地址: https://github.com/medcl/esm 下载编译好的对应elastic ...
- javascript 之 为函数设置默认参数值
方法一: function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a默认为1 var b = arguments[1] ...