java 写入指定路径文件_文件的读取和写入(指定路径)

该博客演示了如何使用Java进行文件操作,包括字节流和字符流读取文件内容,使用缓冲流提高效率,以及从源文件复制内容到目标文件。主要涉及FileInputStream、FileOutputStream、BufferedInputStream、BufferedOutputStream、FileReader和BufferedReader等类。
摘要由CSDN通过智能技术生成

1 package cn.jason.ios.streams;

2

3 import java.io.BufferedInputStream;

4 import java.io.BufferedOutputStream;

5 import java.io.File;

6 import java.io.FileInputStream;

7 import java.io.FileNotFoundException;

8 import java.io.FileOutputStream;

9 import java.io.FileReader;

10 import java.io.IOException;

11

12 /**

13 * 测试IO流 *

14 * 读取指定文件的信息

15 * @author 小风微灵

16 *

17 */

18 public class MyStream {

19

20 /**

21 * 字节流读取信息到控制台

22 * @param filePath 文件地址

23 * @throws IOException 抛出的异常

24 */

25 private static void getFileInfos_ZJ(String filePath) throws IOException{

26

27 //创建对象

28 File file=new File(filePath);

29

30 //FileInputStream 输入流

31 FileInputStream fis=new FileInputStream(file);

32

33 //需要一个缓冲器

34 byte[] bs=new byte[1024*1024];

35

36 //记录读取长度

37 int length=fis.read(bs);

38

39 //[3]读取数据(开水管洗澡)

40 String content=new String(bs,0,length);

41

42 System.out.println("【缓冲】读取的内容:"+content);

43

44 //[4]关闭资源(关闭水龙头)

45 fis.close();

46 }

47

48 /**

49 * 字符流读取信息到控制台

50 * @param filePath

51 * @throws IOException

52 */

53 private static void getFileInfos_ZF(String filePath) throws IOException{

54 //创建对象

55 File file=new File(filePath);

56

57 //字符流

58 FileReader fr=new FileReader(file);

59

60 //开始读取数据

61 int content=0;

62 while ((content=fr.read())!=-1) {

63 System.err.print((char)content);

64 }

65 fr.close();

66 }

67

68 /**

69 * 缓冲字符流读取信息到控制台

70 * read

71 * public int read(char[] cbuf,

72 * int offset,

73 * int length)

74 * throws IOException将字符读入数组中的某一部分。

75 *

76 * 指定者:

77 * 类 Reader 中的 read

78 * 参数:

79 * cbuf - 目标缓冲区

80 * offset - 从其处开始存储字符的偏移量

81 * length - 要读取的最大字符数

82 * 返回:

83 * 读取的字符数,如果已到达流的末尾,则返回 -1

84 * 抛出:

85 * IOException - 如果发生 I/O 错误

86 *

87 * @throws IOException

88 */

89 private static void getFileInfos_ZF_HC(String filePath)throws IOException{

90 //读取

91 File file=new File(filePath);

92 FileInputStream fis=new FileInputStream(file);

93 BufferedInputStream bis=new BufferedInputStream(fis);

94 //工具

95 int length=0;

96 byte[] b=new byte[1024];

97 StringBuilder infos=new StringBuilder();

98 //输出

99 while((length=bis.read(b))!=-1){

100 String str=new String(b,0,length);

101 infos.append(str);

102 }

103 System.out.println(infos.toString());

104

105 //关闭资源

106 bis.close();

107 fis.close();

108 }

109

110 /**

111 *拷贝一个文件的内容到另外一个文件中

112 * @param srcFilePath 源文件地址

113 * @param desFilePath 目标文件地址

114 * @throws IOException

115 */

116 private static void sFile_To_OtherFile(String srcFilePath,String desFilePath)

117 throws IOException{

118 //读取文件

119 File fin=new File(srcFilePath);

120 FileInputStream fis=new FileInputStream(fin);

121 BufferedInputStream bis=new BufferedInputStream(fis);

122

123 //写入文件

124 File fout=new File(desFilePath);

125 FileOutputStream fos=new FileOutputStream(fout,true);//追加信息,而不是覆盖

126 BufferedOutputStream bos=new BufferedOutputStream(fos);

127

128 //工具准备

129 //缓冲写法1【测试通过】

130 // byte[] b=new byte[1024];

131 // int length=0;

132 // while((length=bis.read(b))!=-1){

133 // bos.write(b, 0, length);

134 // }

135 //缓冲写法2【测试通过】

136 int length=0;

137 while((length=bis.read())!=-1){

138 bos.write(length);

139 }

140 //关闭资源

141 bos.close();

142 fos.close();

143 bis.close();

144 fis.close();

145 }

146

147 /**

148 * 程序入口

149 * @param params 启动参数

150 * @throws IOException IO流异常抛出

151 */

152 public static void main(String[] params) throws IOException {

153 getFileInfos_ZF_HC("F:\\FileDemos\\2.txt");

154 sFile_To_OtherFile("F:\\FileDemos\\2.txt","F:\\FileDemos\\test.txt");

155 }

156 }

48304ba5e6f9fe08f3fa1abda7d326ab.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值