收藏 分享(赏)

java读取文件方法大全.doc

上传人:hwpkd79526 文档编号:9295389 上传时间:2019-08-01 格式:DOC 页数:36 大小:93.50KB
下载 相关 举报
java读取文件方法大全.doc_第1页
第1页 / 共36页
java读取文件方法大全.doc_第2页
第2页 / 共36页
java读取文件方法大全.doc_第3页
第3页 / 共36页
java读取文件方法大全.doc_第4页
第4页 / 共36页
java读取文件方法大全.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、java 读取文件方法大全一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 Java 代码 1.import java.io.BufferedReader; 2.import java.io.File; 3.import java.io.FileInputStream; 4.import java.io.FileReader; 5.import java.io.IOException; 6.import java.io.InputStream; 7.import java.io.InputStreamReader; 8.imp

2、ort java.io.RandomAccessFile; 9.import java.io.Reader; 10. 11.public class ReadFromFile 12. /* 13. * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 14. * 15. * param fileName 16. * 文件的名 17. */ 18. public static void readFileByBytes(String fileName) 19. File file = new File(fileName); 20. InputStream in = null;

3、21. try 22. System.out.println(“以字节为单位读取文件内容,一次读一个字节:“); 23. / 一次读一个字节 24. in = new FileInputStream(file); 25. int tempbyte; 26. while (tempbyte = in.read() != -1) 27. System.out.write(tempbyte); 28. 29. in.close(); 30. catch (IOException e) 31. e.printStackTrace(); 32. return; 33. 34. try 35. Syste

4、m.out.println(“以字节为单位读取文件内容,一次读多个字节:“); 36. / 一次读多个字节 37. byte tempbytes = new byte100; 38. int byteread = 0; 39. in = new FileInputStream(fileName); 40. ReadFromFile.showAvailableBytes(in); 41. / 读入多个字节到字节数组中,byteread 为一次读入的字节数 42. while (byteread = in.read(tempbytes) != -1) 43. System.out.write(te

5、mpbytes, 0, byteread); 44. 45. catch (Exception e1) 46. e1.printStackTrace(); 47. finally 48. if (in != null) 49. try 50. in.close(); 51. catch (IOException e1) 52. 53. 54. 55. 56. 57. /* 58. * 以字符为单位读取文件,常用于读文本,数字等类型的文件 59. * 60. * param fileName 61. * 文件名 62. */ 63. public static void readFileByCh

6、ars(String fileName) 64. File file = new File(fileName); 65. Reader reader = null; 66. try 67. System.out.println(“以字符为单位读取文件内容,一次读一个字节:“); 68. / 一次读一个字符 69. reader = new InputStreamReader(new FileInputStream(file); 70. int tempchar; 71. while (tempchar = reader.read() != -1) 72. / 对于 windows 下,rn 这

7、两个字符在一起时,表示一个换行。 73. / 但如果这两个字符分开显示时,会换两次行。 74. / 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。 75. if (char) tempchar) != r) 76. System.out.print(char) tempchar); 77. 78. 79. reader.close(); 80. catch (Exception e) 81. e.printStackTrace(); 82. 83. try 84. System.out.println(“以字符为单位读取文件内容,一次读多个字节:“); 85. / 一次读多个字符 86.

8、 char tempchars = new char30; 87. int charread = 0; 88. reader = new InputStreamReader(new FileInputStream(fileName); 89. / 读入多个字符到字符数组中,charread 为一次读取字符数 90. while (charread = reader.read(tempchars) != -1) 91. / 同样屏蔽掉r 不显示 92. if (charread = tempchars.length) 93. 95. else 96. for (int i = 0; i 4) ?

9、 4 : 0; 167. / 将读文件的开始位置移到 beginIndex 位置。 168. randomFile.seek(beginIndex); 169. byte bytes = new byte10; 170. int byteread = 0; 171. / 一次读 10 个字节,如果文件内容不足 10 个字节,则读剩下的字节。 172. / 将一次读取的字节数赋给 byteread 173. while (byteread = randomFile.read(bytes) != -1) 174. System.out.write(bytes, 0, byteread); 175.

10、 176. catch (IOException e) 177. e.printStackTrace(); 178. finally 179. if (randomFile != null) 180. try 181. randomFile.close(); 182. catch (IOException e1) 183. 184. 185. 186. 187. 188. /* 189. * 显示输入流中还剩的字节数 190. * 191. * param in 192. */ 193. private static void showAvailableBytes(InputStream in

11、) 194. try 195. System.out.println(“当前字节输入流中的字节数为:“ + in.available(); 196. catch (IOException e) 197. e.printStackTrace(); 198. 199. 200. 201. public static void main(String args) 202. String fileName = “C:/temp/newTemp.txt“; 203. ReadFromFile.readFileByBytes(fileName); 204. ReadFromFile.readFileByC

12、hars(fileName); 205. ReadFromFile.readFileByLines(fileName); 206. ReadFromFile.readFileByRandomAccess(fileName); 207. 208. 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.I

13、nputStreamReader;import java.io.RandomAccessFile;import java.io.Reader;public class ReadFromFile /* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。* * param fileName* 文件的名*/public static void readFileByBytes(String fileName) File file = new File(fileName);InputStream in = null;try System.out.println(“以字节为单位读取文件内

14、容,一次读一个字节:“);/ 一次读一个字节in = new FileInputStream(file);int tempbyte;while (tempbyte = in.read() != -1) System.out.write(tempbyte);in.close(); catch (IOException e) e.printStackTrace();return;try System.out.println(“以字节为单位读取文件内容,一次读多个字节:“);/ 一次读多个字节byte tempbytes = new byte100;int byteread = 0;in = new

15、 FileInputStream(fileName);ReadFromFile.showAvailableBytes(in);/ 读入多个字节到字节数组中,byteread 为一次读入的字节数while (byteread = in.read(tempbytes) != -1) System.out.write(tempbytes, 0, byteread); catch (Exception e1) e1.printStackTrace(); finally if (in != null) try in.close(); catch (IOException e1) /* 以字符为单位读取文

16、件,常用于读文本,数字等类型的文件* * param fileName* 文件名*/public static void readFileByChars(String fileName) File file = new File(fileName);Reader reader = null;try System.out.println(“以字符为单位读取文件内容,一次读一个字节:“);/ 一次读一个字符reader = new InputStreamReader(new FileInputStream(file);int tempchar;while (tempchar = reader.re

17、ad() != -1) / 对于 windows 下,rn 这两个字符在一起时,表示一个换行。/ 但如果这两个字符分开显示时,会换两次行。/ 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。if (char) tempchar) != r) System.out.print(char) tempchar);reader.close(); catch (Exception e) e.printStackTrace();try System.out.println(“以字符为单位读取文件内容,一次读多个字节:“);/ 一次读多个字符char tempchars = new char30;int

18、 charread = 0;reader = new InputStreamReader(new FileInputStream(fileName);/ 读入多个字符到字符数组中,charread 为一次读取字符数while (charread = reader.read(tempchars) != -1) / 同样屏蔽掉r 不显示if (charread = tempchars.length) else for (int i = 0; i 4) ? 4 : 0;/ 将读文件的开始位置移到 beginIndex 位置。randomFile.seek(beginIndex);byte bytes

19、 = new byte10;int byteread = 0;/ 一次读 10 个字节,如果文件内容不足 10 个字节,则读剩下的字节。/ 将一次读取的字节数赋给 bytereadwhile (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 e1) /*

20、 显示输入流中还剩的字节数* * param in*/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 = “C:/temp/newTemp.txt“;ReadFromFile.readFileByBytes(fileName);Re

21、adFromFile.readFileByChars(fileName);ReadFromFile.readFileByLines(fileName);ReadFromFile.readFileByRandomAccess(fileName);二、将内容追加到文件尾部 Java 代码 1.import java.io.FileWriter; 2.import java.io.IOException; 3.import java.io.RandomAccessFile; 4. 5./* 6. * 将内容追加到文件尾部 7. */ 8.public class AppendToFile 9. 10

22、. /* 11. * A 方法追加文件:使用 RandomAccessFile 12. * param fileName 文件名 13. * param content 追加的内容 14. */ 15. public static void appendMethodA(String fileName, String content) 16. try 17. / 打开一个随机访问文件流,按读写方式 18. RandomAccessFile randomFile = new RandomAccessFile(fileName, “rw“); 19. / 文件长度,字节数 20. long file

23、Length = randomFile.length(); 21. /将写文件指针移到文件尾。 22. randomFile.seek(fileLength); 23. randomFile.writeBytes(content); 24. randomFile.close(); 25. catch (IOException e) 26. e.printStackTrace(); 27. 28. 29. 30. /* 31. * B 方法追加文件:使用 FileWriter 32. * param fileName 33. * param content 34. */ 35. public s

24、tatic void appendMethodB(String fileName, String content) 36. try 37. /打开一个写文件器,构造函数中的第二个参数true 表示以追加形式写文件 38. FileWriter writer = new FileWriter(fileName, true); 39. writer.write(content); 40. writer.close(); 41. catch (IOException e) 42. e.printStackTrace(); 43. 44. 45. 46. public static void main

25、(String args) 47. String fileName = “C:/temp/newTemp.txt“; 48. String content = “new append!“; 49. /按方法 A 追加文件 50. AppendToFile.appendMethodA(fileName, content); 51. AppendToFile.appendMethodA(fileName, “append end. n“); 52. /显示文件内容 53. ReadFromFile.readFileByLines(fileName); 54. /按方法 B 追加文件 55. App

26、endToFile.appendMethodB(fileName, content); 56. AppendToFile.appendMethodB(fileName, “append end. n“); 57. /显示文件内容 58. ReadFromFile.readFileByLines(fileName); 59. 60. java 读取文件方法大全一、多种方式读文件内容。 1、按字节读取文件内容 2、按字符读取文件内容 3、按行读取文件内容 4、随机读取文件内容 Java 代码 1.import java.io.BufferedReader; 2.import java.io.Fil

27、e; 3.import java.io.FileInputStream; 4.import java.io.FileReader; 5.import java.io.IOException; 6.import java.io.InputStream; 7.import java.io.InputStreamReader; 8.import java.io.RandomAccessFile; 9.import java.io.Reader; 10. 11.public class ReadFromFile 12. /* 13. * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文

28、件。 14. * 15. * param fileName 16. * 文件的名 17. */ 18. public static void readFileByBytes(String fileName) 19. File file = new File(fileName); 20. InputStream in = null; 21. try 22. System.out.println(“以字节为单位读取文件内容,一次读一个字节:“); 23. / 一次读一个字节 24. in = new FileInputStream(file); 25. int tempbyte; 26. whil

29、e (tempbyte = in.read() != -1) 27. System.out.write(tempbyte); 28. 29. in.close(); 30. catch (IOException e) 31. e.printStackTrace(); 32. return; 33. 34. try 35. System.out.println(“以字节为单位读取文件内容,一次读多个字节:“); 36. / 一次读多个字节 37. byte tempbytes = new byte100; 38. int byteread = 0; 39. in = new FileInputS

30、tream(fileName); 40. ReadFromFile.showAvailableBytes(in); 41. / 读入多个字节到字节数组中,byteread 为一次读入的字节数 42. while (byteread = in.read(tempbytes) != -1) 43. System.out.write(tempbytes, 0, byteread); 44. 45. catch (Exception e1) 46. e1.printStackTrace(); 47. finally 48. if (in != null) 49. try 50. in.close();

31、 51. catch (IOException e1) 52. 53. 54. 55. 56. 57. /* 58. * 以字符为单位读取文件,常用于读文本,数字等类型的文件 59. * 60. * param fileName 61. * 文件名 62. */ 63. public static void readFileByChars(String fileName) 64. File file = new File(fileName); 65. Reader reader = null; 66. try 67. System.out.println(“以字符为单位读取文件内容,一次读一个

32、字节:“); 68. / 一次读一个字符 69. reader = new InputStreamReader(new FileInputStream(file); 70. int tempchar; 71. while (tempchar = reader.read() != -1) 72. / 对于 windows 下,rn 这两个字符在一起时,表示一个换行。 73. / 但如果这两个字符分开显示时,会换两次行。 74. / 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。 75. if (char) tempchar) != r) 76. System.out.print(char)

33、 tempchar); 77. 78. 79. reader.close(); 80. catch (Exception e) 81. e.printStackTrace(); 82. 83. try 84. System.out.println(“以字符为单位读取文件内容,一次读多个字节:“); 85. / 一次读多个字符 86. char tempchars = new char30; 87. int charread = 0; 88. reader = new InputStreamReader(new FileInputStream(fileName); 89. / 读入多个字符到字符

34、数组中,charread 为一次读取字符数 90. while (charread = reader.read(tempchars) != -1) 91. / 同样屏蔽掉r 不显示 92. if (charread = tempchars.length) 93. 95. else 96. for (int i = 0; i 4) ? 4 : 0; 167. / 将读文件的开始位置移到 beginIndex 位置。 168. randomFile.seek(beginIndex); 169. byte bytes = new byte10; 170. int byteread = 0; 171.

35、 / 一次读 10 个字节,如果文件内容不足 10 个字节,则读剩下的字节。 172. / 将一次读取的字节数赋给 byteread 173. while (byteread = randomFile.read(bytes) != -1) 174. System.out.write(bytes, 0, byteread); 175. 176. catch (IOException e) 177. e.printStackTrace(); 178. finally 179. if (randomFile != null) 180. try 181. randomFile.close(); 182

36、. catch (IOException e1) 183. 184. 185. 186. 187. 188. /* 189. * 显示输入流中还剩的字节数 190. * 191. * param in 192. */ 193. private static void showAvailableBytes(InputStream in) 194. try 195. System.out.println(“当前字节输入流中的字节数为:“ + in.available(); 196. catch (IOException e) 197. e.printStackTrace(); 198. 199.

37、200. 201. public static void main(String args) 202. String fileName = “C:/temp/newTemp.txt“; 203. ReadFromFile.readFileByBytes(fileName); 204. ReadFromFile.readFileByChars(fileName); 205. ReadFromFile.readFileByLines(fileName); 206. ReadFromFile.readFileByRandomAccess(fileName); 207. 208. import jav

38、a.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 ReadFromFile /* 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件

39、。* * param fileName* 文件的名*/public static void readFileByBytes(String fileName) File file = new File(fileName);InputStream in = null;try System.out.println(“以字节为单位读取文件内容,一次读一个字节:“);/ 一次读一个字节in = new FileInputStream(file);int tempbyte;while (tempbyte = in.read() != -1) System.out.write(tempbyte);in.cl

40、ose(); catch (IOException e) e.printStackTrace();return;try System.out.println(“以字节为单位读取文件内容,一次读多个字节:“);/ 一次读多个字节byte tempbytes = new byte100;int byteread = 0;in = new FileInputStream(fileName);ReadFromFile.showAvailableBytes(in);/ 读入多个字节到字节数组中,byteread 为一次读入的字节数while (byteread = in.read(tempbytes)

41、!= -1) System.out.write(tempbytes, 0, byteread); catch (Exception e1) e1.printStackTrace(); finally if (in != null) try in.close(); catch (IOException e1) /* 以字符为单位读取文件,常用于读文本,数字等类型的文件* * param fileName* 文件名*/public static void readFileByChars(String fileName) File file = new File(fileName);Reader r

42、eader = null;try System.out.println(“以字符为单位读取文件内容,一次读一个字节:“);/ 一次读一个字符reader = new InputStreamReader(new FileInputStream(file);int tempchar;while (tempchar = reader.read() != -1) / 对于 windows 下,rn 这两个字符在一起时,表示一个换行。/ 但如果这两个字符分开显示时,会换两次行。/ 因此,屏蔽掉r,或者屏蔽n。否则,将会多出很多空行。if (char) tempchar) != r) System.out.print(char) tempchar);reader.close(); catch (Exception e) e.printStackTrace();try System.out.println(“以字符为单位读取文件内容,一次读多个字节:“);/ 一次读多个字符char tempchars = new char30;int charread = 0;reader = new InputStreamReader(new FileInputStream(fileName);/ 读入多个字符到字符数组中,charread 为一次读取字符数whil

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报