Java读写文件方法总结
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读写文件方法总结的更多相关文章
- java读写文件大全
java读写文件大全 最初java是不支持对文本文件的处理的,为了弥补这个缺憾而引入了Reader和Writer两个类,这两个类都是抽象类,Writer中 write(char[] ch,int o ...
- [Java]读取文件方法大全(转)
[Java]读取文件方法大全 1.按字节读取文件内容2.按字符读取文件内容3.按行读取文件内容 4.随机读取文件内容 public class ReadFromFile { /** ...
- Java读写文件的几种方式
自工作以后好久没有整理Java的基础知识了.趁有时间,整理一下Java文件操作的几种方式.无论哪种编程语言,文件读写操作时避免不了的一件事情,Java也不例外.Java读写文件一般是通过字节.字符和行 ...
- [Python]读写文件方法
http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...
- 【java】java 读写文件
场景:JDK8 将上传的文件,保存到服务器 Java读写文件操作: MultipartFile file InputStream inputStream = file.getInputStream( ...
- 转:Java读写文件各种方法及性能比较
干Java这么久,一直在做WEB相关的项目,一些基础类差不多都已经忘记.经常想得捡起,但总是因为一些原因,不能如愿. 其实不是没有时间,只是有些时候疲于总结,今得空,下定决心将丢掉的都给捡起来. 文件 ...
- java读取文件方法总结
由于最近在做一个关于从手机本地读取格式化的txt文件中的内容,并且把内容放在listview中显示.这样问题来了,就是如何能够遍历已经获取到特定的map中就是一个问题,在网上找了一些资料,找到了一个很 ...
- nodeJS中读写文件方法的区别
导言:nodejs中所有与文件相关的操作都在fs模块中,而读写操作又是我们会经常用到的操作,nodejs的fs模块针对读操作为我们提供了readFile,read, createReadStream三 ...
- Java读写文件常用方法
一.字符流:读写纯文本(txt,csv等), 1 字符流写文件主要用:FileWriter,BufferedWriter,PrintWriter 1.1 测试 FileWriter 写入 privat ...
随机推荐
- linux中$与()的一点使用疑惑解释
a=$(cat 1.sh)等价于a=`cat 1.sh` 而a=(cat 1.sh) 相当于定义一个a数组,内容为cat 1.sha=(`cat 1.sh`)相当于把1.sh里面的内容当成a的数组,a ...
- Import 元素 (MSBuild)
Import 元素 (MSBuild) Visual Studio 2013 .NET Framework 4 .NET Framework 3 ...
- 无废话WCF入门教程一[什么是WCF]
http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html wcf技术交流,同学习共进步,欢迎加群: 群号:3981831 ...
- csharp:Nhibernate Procedure with CreateSQLQuery and GetNamedQuery
<?xml version="1.0" encoding="utf-8"?> <hibernate-mapping assembly=&quo ...
- 回文串---Best Reward
HDU 3613 Description After an uphill battle, General Li won a great victory. Now the head of state ...
- 泛函编程(16)-泛函状态-Functional State
初接触泛函状态觉着很不习惯.主要是在使用State数据类型时很难理解其中的原理,特别是泛函状态变迁机制(state transition mechanism):怎么状态就起了变化,实在难以跟踪.我想这 ...
- 编写运行R脚本
1.在后台运行R 1.1 创建file.R文件 1.2 在文件首行键入: #! /path/to/Rscript 1.3 在下面的行中,键入R代码 1.4 保存(记得有png(),jpeg(),... ...
- winform(无边框窗体与timer)
一.无边框窗体 1.控制按钮如何制作就是放置可以点击的控件,不局限于使用按钮或是什么别的,只要放置的控件可以点击能触发点击事件就可以了 做的好看一点,就是鼠标移入(pictureBox1_MouseE ...
- [Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考、NuGet组件参考
[Xamarin.iOS] Visual Studio中Xamarin.iOS项目,无法加入PCL项目参考.NuGet组件参考 解决方案 目前Visual Studio中最新版本的Xamarin.iO ...
- js用8421码实现10进制转2进制
今天早上突然心血来潮决定用 ''和js来撸一个进制转换.(纯属心血来潮,有兴趣的可以看看.) 我们知道,通过8421码.可以快速的得到一个10进制的2进制.如下图: 如上图所示:我们将10进制的 '1 ...