Java读写文件方法总结

Java的读写文件方法在工作中相信有很多的用处的,本人在之前包括现在都在使用Java的读写文件方法来处理数据方面的输入输出,确实很方便。奈何我的记性实在是叫人着急,很多时候既然都会想不起来怎么写了,不过我的Java代码量也实在是少的可怜,所以应该多多练习。这里做一个总结,集中在一起方面今后查看。

Java读文件

 package 天才白痴梦;

 import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.RandomAccessFile;
import java.io.Reader; public class JavaIO { /**
* 采用的是操作系统底层默认的编码方式,GBK等,非UTF8
* */ /**
* 以字节为单位读取文件内容,常用于读取二进制文件,比如图片、影像、声音等文件
* */
public static void readFileByBytes(String filename) {
File file=new File(filename);
FileInputStream in=null;
try {
System.out.println("以字节为单位读取文件,一次读一个字节: ");
in=new FileInputStream(file);
int temp=0;
while ((temp=in.read()) != -1) {
System.out.println(temp);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
return ;
}
try {
System.out.println("以字节为单位读取文件,一次读多个字节: ");
byte[] temp=new byte[100];
int byteread=0;
in=new FileInputStream(file);
JavaIO.showAvailableBytes(in);
while ((byteread=in.read(temp)) != -1) {
System.out.write(temp,0,byteread);
}
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e1) { }
}
}
}
/**
* 以字符为单位读取文件,常用于读文本,数字等类型的文件
* */
public static void readFileByChar(String filename) {
File file=new File(filename);
Reader reader=null;
try {
System.out.println("以字符为单位读取文件内容,一次一个字节:");
//InputStreamReader类:是字节向字符转换的桥梁
reader=new InputStreamReader(new FileInputStream(file));
int temp;
while ((temp=reader.read()) != -1) {
if (((char)temp) != '\r') {
System.out.println((char)temp);
}
}
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("以字符为单位读取文件内容,一次读多个字节: ");
char[] temp=new char[30];
int charread=0;
reader=new InputStreamReader(new FileInputStream(filename));
while ((charread=reader.read(temp)) != -1) {
if ((charread == temp.length) && (temp[temp.length-1]!='\r')) {
System.out.println(temp);
} else {
for (int i=0; i<charread; i++) {
if (temp[i] == '\r') {
break;
} else {
System.out.println(temp[i]);
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) { }
}
}
}
/**
* 以行为单位读取文件,常用于读面向行的格式化文件
* */
public static void readFileByLine(String filename) {
File file=new File(filename);
BufferedReader reader=null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行: ");
reader=new BufferedReader(new FileReader(file));
String temp=null;
int line=1;
while ((temp=reader.readLine()) != null) {
System.out.println("line " + line + ": " + temp);
line++;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) { }
}
}
}
/**
* 随机读取文件内容
* */
public static void readFileByRandomAccess(String filename) {
RandomAccessFile randomfile=null;
try {
System.out.println("随机读取一段文件内容");
randomfile=new RandomAccessFile(filename,"r");
long fileLength=randomfile.length();
int beginIndex=(fileLength > 4 ? 4 : 0);
randomfile.seek(beginIndex);
byte[] bytes=new byte[10];
int byteread=0;
while ((byteread=randomfile.read(bytes)) != -1) {
System.out.write(bytes,0,byteread);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (randomfile != null) {
try {
randomfile.close();
} catch (IOException e) { }
}
}
}
private static void showAvailableBytes(InputStream in) {
try {
System.out.println("当前字节输入流中的字节数为:" + in.available());
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
String filename="E:\\BaiYiShaoNian.txt";
JavaIO.readFileByBytes(filename);
JavaIO.readFileByChar(filename);
JavaIO.readFileByLine(filename);
JavaIO.readFileByRandomAccess(filename);
}
}

Java写文件

 package 天才白痴梦;

 import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStreamWriter; public class JavaIO2 { public static void main(String[] args) throws IOException {
String Path="E:\\天才白痴梦\\JAVA";
File file=new File("E:\\天才白痴梦\\JAVA","BaiYiShaoNian.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Java写入文件的三种方法
* */
FileOutputStream fos=null;
BufferedWriter bw=null;
FileWriter fw=null;
int value=1000; try {
fos=new FileOutputStream(new File(Path+"fos.txt"));
long begin=System.currentTimeMillis();
for (int i=1; i<=value; i++) {
fos.write(5);
}
long end=System.currentTimeMillis();
System.out.println("TheCostTime of FileOutputStream is : " + (end-begin));
fos.close(); bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(Path+"br.txt")),"UTF8"));
begin=System.currentTimeMillis();
for (int i=1; i<=value; i++) {
bw.write(5);
bw.newLine();
}
bw.close();
end=System.currentTimeMillis();
System.out.println("TheCostTime of BufferedWriter is : " + (end-begin)); fw=new FileWriter(Path+"fw.txt");
begin=System.currentTimeMillis();
for (int i=1; i<=value; i++) {
fw.write(5);
}
fw.close();
end=System.currentTimeMillis();
System.out.println("TheCostTime of FileWriter is : " + (end-begin)); } catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
fos.close(); //FileOutputStream
bw.close(); //BufferedWriter
fw.close(); //FileWriter
} catch (Exception e) {
e.printStackTrace();
}
} }
}

Java读写文件方法总结的更多相关文章

  1. java读写文件大全

     java读写文件大全 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int o ...

  2. [Java]读取文件方法大全(转)

    [Java]读取文件方法大全   1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile {     /**     ...

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

    自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...

  4. [Python]读写文件方法

    http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...

  5. 【java】java 读写文件

    场景:JDK8  将上传的文件,保存到服务器 Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream( ...

  6. 转:Java读写文件各种方法及性能比较

    干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件 ...

  7. java读取文件方法总结

    由于最近在做一个关于从手机本地读取格式化的txt文件中的内容,并且把内容放在listview中显示.这样问题来了,就是如何能够遍历已经获取到特定的map中就是一个问题,在网上找了一些资料,找到了一个很 ...

  8. nodeJS中读写文件方法的区别

    导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三 ...

  9. Java读写文件常用方法

    一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...

随机推荐

  1. jQuery对Table一个字段排序

    最近做一个机票的系统,要对航班信息进行排序,所以整理了一下,把排序的方法写下来. 首先table的结构大概如下 最后显示的样式为 首先在每一个tr上加一个自定义属性:data-sort-field-f ...

  2. SQL Server 诊断查询-(5)

    Query #57 Buffer Usage -- Breaks down buffers used by current database by object (table, index) in t ...

  3. Web前端测试题

    JS题目: 在JavaScript中( )方法可以对数组元素进行排序. A. add()B. join()C. sort()D. length() 答案:http://hovertree.com/ti ...

  4. SQL 日期转换(阳历转阴历)

    --步骤:创建日期表,放初始放初始化资料 --因为农历的日,是由天文学家推算出来,到现在只有到年,以后的有了还可以加入! if object_id('SolarData') is not nulldr ...

  5. [转] 基于 Apache Mahout 构建社会化推荐引擎

    来源:http://www.ibm.com/developerworks/cn/java/j-lo-mahout/index.html 推荐引擎简介 推荐引擎利用特殊的信息过滤(IF,Informat ...

  6. 如何高效部署前端代码,如css,js...

    看了网上一些文章,做了点总结,顺便再加点自己的东西,简单的说下. 1.利用浏览器的304缓存,但是304叫协商缓存,还是需要与服务器通信一次 2.强制使用浏览器使用本地缓存(cache-control ...

  7. mybatis中#和$符号的区别

    mybatis做为一个轻量级ORM框架在许多项目中使用,因其简单的入门受到了广大开发者的热爱.在近期项目中再做一个相关的开发,碰到了#.$符号这样的问题,之前没怎么注意过,通过学习之后,有了点感悟,分 ...

  8. ahjesus C# 4.0 Parallel 并行运算

    Parallel.For - for 循环的并行运算 Parallel.ForEach - foreach 循环的并行运算 Parallel.Invoke - 并行调用多个任务 Task - 任务,基 ...

  9. Linux里如何查找文件内容

    Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件g ...

  10. DShow实现一个avi视频的播放(含有个人解释和注释)

    此项目为win32下的控制台C++代码(别忘记配置DShow库) // movie_test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" ...