File I/O

File类访问文件属性

File类常用方法

通过流来读写文件

流是指一连串流动的字符,是以先进先出方式发 送信息的通道

输入/输出流与数据源

Java流的分类

文本文件的读写

用FileInputStream和FileOutputStream读写文本文件

用BufferedReader和BufferedWriter读写文本文件

二进制文件的读写

使用DataInputStream和DataOutputStream读写二进制文件

FileInputStream

一次读取一个字节

一次读取多个字节

 FileOutputStream写文件

1、前两种构造方法在向文件写数据时将覆盖文件中原有的内容

2、创建FileOutputStream实例时,如果相应的文件并不存在,则会自动创建一个空的文件

复制文件

 FileReader读文件

//FileReader 使用字符数组方式读
		public static void test20() {
			//读文件 
			FileReader fr = null;
					//创建文件字节输入流
            try {
						//创建文件字节输入流
						fr = new FileReader("d:/myfile/abc88.txt");
						
						//使用字节数组读取
						char[] cs = new char[4];
						
						//读取一个字节(当读取到结尾返回是-1)
						//读取的内容保存在字节数组中(bs中)
						int length = fr.read(cs);
						
						StringBuffer sb = new StringBuffer();
						//循环
						while(length!=-1) {
							System.out.print(new String(cs,0,length));
							sb.append(cs, 0, length);
							length = fr.read(cs);
						}
						
						System.out.println("*****************************");
						System.out.println(sb);
						
				
						
					} catch (FileNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}finally {
						 try {
								fr.close();
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						}
			
			
		}

BufferedReader 读文件

//FileReader 使用字符数组方式读
		public static void test20() {
			//读文件 
			FileReader fr = null;
					//创建文件字节输入流
					try {
						//创建文件字节输入流
						fr = new FileReader("d:/myfile/abc88.txt");
						
						//使用字节数组读取
						char[] cs = new char[4];
						
						//读取一个字节(当读取到结尾返回是-1)
						//读取的内容保存在字节数组中(bs中)
						int length = fr.read(cs);
						
						StringBuffer sb = new StringBuffer();
						//循环
						while(length!=-1) {
							System.out.print(new String(cs,0,length));
							sb.append(cs, 0, length);
							length = fr.read(cs);
						}
						
						System.out.println("*****************************");
						System.out.println(sb);
						
				
						
					} catch (FileNotFoundException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					} catch (IOException e) {
						// TODO Auto-generated catch block
						e.printStackTrace();
					}finally {
						 try {
								fr.close();
							} catch (IOException e) {
								// TODO Auto-generated catch block
								e.printStackTrace();
							}
						}
			
			
		}

10.1.6 BufferedReader 读文件
public static void test21() {
			//包装流 处理流 高级流(对底层流(节点流,直接和具体文件或者位置打交道)的包装,方便操作)
			BufferedReader br = null;
			FileReader fr = null;
			
			try {
				//节点流 底层流
				fr = new FileReader("d:/myfile/abc88.txt");
				//使用包装流进行包装
				br=new BufferedReader(fr);
				
				String content =null;
				while((content = br.readLine())!=null) {
					System.out.println(content);
				}
				
//				String content = br.readLine();
//				while(content!=null) {
//					System.out.println(content);
//					content = br.readLine();
//				}
				
				
				
			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally {
				try {
					//高级流关闭会自动关底层流
					br.close();
					//fr.close();
					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
			
		}
	

BufferedWriter写文件

//BufferedWriter	带专门的缓冲区效率更高
		public static void test23() {
			
			FileWriter fw = null;
			BufferedWriter bw = null;
			
			try {
				fw = new FileWriter("d:/myfile/a1.txt");
				bw = new BufferedWriter(fw);
				
				bw.write("hello 11111!");
				
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally {
				try {
					bw.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
			
			
		}

使用BufferedReader和BufferedWriter复制文件

//使用BufferedReader和BufferedWriter复制文件
		public static void test24() {
			//包装流 处理流 高级流(对底层流(节点流,直接和具体文件或者位置打交道)的包装,方便操作)
			BufferedReader br = null;
			FileReader fr = null;
			FileWriter fw = null;
			BufferedWriter bw = null;
			
			try {
				//节点流 底层流
				fr = new FileReader("d:/myfile/abc88.txt");
				fw = new FileWriter("d:/myfile/a1.txt");
				
				//使用包装流进行包装
				br=new BufferedReader(fr);
				bw = new BufferedWriter(fw);
				
				String content =null;
				while((content = br.readLine())!=null) {
					System.out.println(content);
					bw.write(content);
					bw.newLine();
					//清空缓冲区,把缓冲区的内容写入文件
					bw.flush();
				}

			} catch (FileNotFoundException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}finally {
				try {
					//高级流关闭会自动关底层流
					br.close();
					//fr.close();
					//close方法中会执行 flush()
					bw.close();
					
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
}

转换流 同时设置编码 解决乱码问题

也可以使用工具直接修改文件编码​​​​​​​​​​​​​​

读写二进制文件

与字节流FileInputStream类实现文本文件读取步骤极其相似

 

 

 

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值