java读取文件

1、字节形式读取

 1 @Test
 2 public void test1(){
 3     String path = "d://temp/test.txt";
 4     readFile(path);
 5 }
 6 
 7 private void readFile(String path) {
 8     //FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader
 9     File file = new File(path);
10     InputStream in = null;
11     try {
12         in = new FileInputStream(file);
13         int tempStr = 0;
14         while((tempStr = in.read())!=-1){
15             System.out.write(tempStr);
16         }
17     } catch (FileNotFoundException e) {
18         // TODO Auto-generated catch block
19         e.printStackTrace();
20     } catch (IOException e) {
21         // TODO Auto-generated catch block
22         e.printStackTrace();
23     } 
24 }

改进方式一次读取多个字节

 1 private void readFile(String path) {
 2     //FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader
 3     File file = new File(path);
 4     InputStream in = null;
 5     try {
 6         in = new FileInputStream(file);
 7         byte[] byteArr = new byte[1024];
 8         while(in.read(byteArr)!=-1){
 9             System.out.write(byteArr);
10         }
11     } catch (FileNotFoundException e) {
12         // TODO Auto-generated catch block
13         e.printStackTrace();
14     } catch (IOException e) {
15         // TODO Auto-generated catch block
16         e.printStackTrace();
17     } 
18 }

2、字符形式读取

 1 private void readFile(String path) {
 2     File file = new File(path);
 3     InputStreamReader in = null;
 4     try {
 5         in = new InputStreamReader(new FileInputStream(file));
 6         int tempStr;
 7         while((tempStr=in.read())!=-1){
 8             System.out.write(tempStr);
 9         }
10     } catch (FileNotFoundException e) {
11         // TODO Auto-generated catch block
12         e.printStackTrace();
13     } catch (IOException e) {
14         // TODO Auto-generated catch block
15         e.printStackTrace();
16     } finally {
17         if(in!=null)
18             try {
19                 in.close();
20             } catch (IOException e) {
21                 // TODO Auto-generated catch block
22                 e.printStackTrace();
23             }
24     }
25 }

改进方式

 1 private void readFile(String path) {
 2     File file = new File(path);
 3     InputStreamReader in = null;
 4     try {
 5         in = new InputStreamReader(new FileInputStream(file));
 6         char[] charArr = new char[1024];
 7         while(in.read(charArr)!=-1){
 8             System.out.print(charArr);
 9         }
10     } catch (FileNotFoundException e) {
11         // TODO Auto-generated catch block
12         e.printStackTrace();
13     } catch (IOException e) {
14         // TODO Auto-generated catch block
15         e.printStackTrace();
16     } finally {
17         if(in!=null)
18             try {
19                 in.close();
20             } catch (IOException e) {
21                 // TODO Auto-generated catch block
22                 e.printStackTrace();
23             }
24     }
25 }

3、以行为单位读取文件,常用于读面向行的格式化文件,如csv等

 1 private void readFile(String path) {
 2     File file = new File(path);
 3     BufferedReader in = null;
 4     try {
 5         in = new BufferedReader(new FileReader(file));
 6         String tempStr = "";
 7         while((tempStr=in.readLine()) != null){
 8             System.out.println(tempStr);
 9         }
10     } catch (FileNotFoundException e) {
11         // TODO Auto-generated catch block
12         e.printStackTrace();
13     } catch (IOException e) {
14         // TODO Auto-generated catch block
15         e.printStackTrace();
16     } finally {
17         if(in!=null)
18             try {
19                 in.close();
20             } catch (IOException e) {
21                 // TODO Auto-generated catch block
22                 e.printStackTrace();
23             }
24     }
25 }

 

转载于:https://www.cnblogs.com/ikuman/p/3283118.html

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值