博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java读写文件方法总结
阅读量:5262 次
发布时间:2019-06-14

本文共 6843 字,大约阅读时间需要 22 分钟。

Java读写文件方法总结

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

Java读文件

1 package 天才白痴梦;  2   3 import java.io.BufferedReader;  4 import java.io.File;  5 import java.io.FileInputStream;  6 import java.io.FileReader;  7 import java.io.IOException;  8 import java.io.InputStream;  9 import java.io.InputStreamReader; 10 import java.io.RandomAccessFile; 11 import java.io.Reader; 12  13 public class JavaIO { 14      15     /** 16      * 采用的是操作系统底层默认的编码方式,GBK等,非UTF8 17      * */ 18      19     /** 20      * 以字节为单位读取文件内容,常用于读取二进制文件,比如图片、影像、声音等文件 21      * */ 22     public static void readFileByBytes(String filename) { 23         File file=new File(filename); 24         FileInputStream in=null; 25         try { 26             System.out.println("以字节为单位读取文件,一次读一个字节: "); 27             in=new FileInputStream(file); 28             int temp=0; 29             while ((temp=in.read()) != -1) { 30                 System.out.println(temp); 31             } 32             in.close(); 33         } catch (IOException e) { 34             e.printStackTrace(); 35             return ; 36         } 37         try { 38             System.out.println("以字节为单位读取文件,一次读多个字节: "); 39             byte[] temp=new byte[100]; 40             int byteread=0; 41             in=new FileInputStream(file); 42             JavaIO.showAvailableBytes(in); 43             while ((byteread=in.read(temp)) != -1) { 44                 System.out.write(temp,0,byteread); 45             } 46         } catch (Exception e1) { 47             e1.printStackTrace(); 48         } finally { 49             if (in != null) { 50                 try { 51                     in.close(); 52                 } catch (IOException e1) { 53                      54                 } 55             } 56         } 57     } 58     /** 59      * 以字符为单位读取文件,常用于读文本,数字等类型的文件 60      * */ 61     public static void readFileByChar(String filename) { 62         File file=new File(filename); 63         Reader reader=null; 64         try { 65             System.out.println("以字符为单位读取文件内容,一次一个字节:"); 66             //InputStreamReader类:是字节向字符转换的桥梁 67             reader=new InputStreamReader(new FileInputStream(file)); 68             int temp; 69             while ((temp=reader.read()) != -1) { 70                 if (((char)temp) != '\r') { 71                     System.out.println((char)temp); 72                 } 73             }  74             reader.close(); 75         } catch (Exception e) { 76             e.printStackTrace(); 77         } 78         try { 79             System.out.println("以字符为单位读取文件内容,一次读多个字节: "); 80             char[] temp=new char[30]; 81             int charread=0; 82             reader=new InputStreamReader(new FileInputStream(filename)); 83             while ((charread=reader.read(temp)) != -1) { 84                 if ((charread == temp.length) && (temp[temp.length-1]!='\r')) { 85                     System.out.println(temp); 86                 } else { 87                     for (int i=0; i
4 ? 4 : 0);146 randomfile.seek(beginIndex);147 byte[] bytes=new byte[10];148 int byteread=0;149 while ((byteread=randomfile.read(bytes)) != -1) {150 System.out.write(bytes,0,byteread);151 }152 } catch (IOException e) {153 e.printStackTrace();154 } finally {155 if (randomfile != null) {156 try {157 randomfile.close();158 } catch (IOException e) {159 160 }161 }162 }163 }164 private static void showAvailableBytes(InputStream in) {165 try {166 System.out.println("当前字节输入流中的字节数为:" + in.available());167 } catch (IOException e) {168 e.printStackTrace();169 }170 }171 public static void main(String[] args) {172 String filename="E:\\BaiYiShaoNian.txt";173 JavaIO.readFileByBytes(filename);174 JavaIO.readFileByChar(filename);175 JavaIO.readFileByLine(filename);176 JavaIO.readFileByRandomAccess(filename);177 }178 }

Java写文件

1 package 天才白痴梦; 2  3 import java.io.BufferedWriter; 4 import java.io.File; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.FileWriter; 8 import java.io.IOException; 9 import java.io.OutputStreamWriter;10 11 public class JavaIO2 {12 13     public static void main(String[] args) throws IOException {14         String Path="E:\\天才白痴梦\\JAVA";15         File file=new File("E:\\天才白痴梦\\JAVA","BaiYiShaoNian.txt");16         if (!file.exists()) {17             try {18                 file.createNewFile();19             } catch (IOException e) {20                 e.printStackTrace();21             }22         }23         /**24          * Java写入文件的三种方法25          * */26         FileOutputStream fos=null;27         BufferedWriter bw=null;28         FileWriter fw=null;29         int value=1000;30         31         try {32             fos=new FileOutputStream(new File(Path+"fos.txt"));33             long begin=System.currentTimeMillis();34             for (int i=1; i<=value; i++) {35                 fos.write(5);36             }37             long end=System.currentTimeMillis();38             System.out.println("TheCostTime of FileOutputStream is : " + (end-begin));39             fos.close();40             41             bw=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(new File(Path+"br.txt")),"UTF8"));42             begin=System.currentTimeMillis();43             for (int i=1; i<=value; i++) {44                 bw.write(5);45                 bw.newLine();46             }47             bw.close();48             end=System.currentTimeMillis();49             System.out.println("TheCostTime of BufferedWriter is : " + (end-begin));50             51             fw=new FileWriter(Path+"fw.txt");52             begin=System.currentTimeMillis();53             for (int i=1; i<=value; i++) {54                 fw.write(5);                55             }56             fw.close();57             end=System.currentTimeMillis();58             System.out.println("TheCostTime of FileWriter is : " + (end-begin));59             60             61         } catch (Exception e) {62             // TODO Auto-generated catch block63             e.printStackTrace();64         } finally {65             try {66                 fos.close(); //FileOutputStream67                 bw.close(); //BufferedWriter68                 fw.close(); //FileWriter69             } catch (Exception e) {70                 e.printStackTrace();71             }72         }73         74     }75 }

 

转载于:https://www.cnblogs.com/BaiYiShaoNian/p/4881120.html

你可能感兴趣的文章
敏捷开发中提高软件生产率的方法
查看>>
Android子线程刷新主线程中View
查看>>
QT学习入门笔记
查看>>
用python写一个北京市的个税计算器
查看>>
VB6 red write DB using Microsoft DAO 3.6 Object Library
查看>>
Android JS interaction
查看>>
js中获取键盘事件
查看>>
Sql order by 和 group BY 如何共同运用?
查看>>
【转】C++中的虚函数的实现
查看>>
mysql 表分区
查看>>
FileFilter文件过滤器
查看>>
selenium driver.close()与driver.quit()区别
查看>>
vue搭建骨架屏步骤配置
查看>>
判断程序是否已经启动的两种方法
查看>>
java启动项目报错,org.apache.catalina.lifecycleException..............以及解决方案
查看>>
vb.net ctype用法
查看>>
HDU 2639 Bone Collector II 背包k优解
查看>>
归并排序求逆序对
查看>>
HDU 1864最大报销额 01背包问题
查看>>
图论浅析--基础知识
查看>>