每日总结
所花时间:2小时
代码量:如下:
博客量:本学期截至目前90篇
了解到的知识点:文件
昨天的程序的数据存放在一个叫”input.txt“的文件中,还有一种奇怪的格式(例:一行六列):
1,
5,6,-3,8,-9,2
现在的问题是这个文件怎么读?
复习输入输出流(基础):
输入输出流可分为两大类:字节输入输出流,字符输入输出流。对于输入的一个长度的数据,字节流占用一个字节,字符流占用两个字节
字节流---inputstream,outputstream
字符流---reader,writer
现在我们要做的功能是从文件里读数据,这样就用到了文件输入输出流
FileInputStream和FileOutputStream,这两个是以后包装的基础,就像System.in和System.out一样
对于上述文件输入输出流,我们有两种包装方式,Buffered包装和转化为字符流InputstreamReader
(在输入汉字时,希望输入完了得到的是自己能看懂的字符串,就转化为字符流)
字符流也可以包装BufferedReader,是BufferedInputstreamReader的简写
最后要注意的是,字符流的输入单位是字符,Char;字节流输入的单位是字节,Byte。
现在就可以读文件了
package my0311;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static int max(int a,int b) {
return a>b?a:b;
}
public static void main(String[] args) throws IOException {
int[] a=new int[10010];
int[] res=new int[10010];
int n;
BufferedReader br= new BufferedReader(new FileReader("src\\my0311\\myFile.txt"));
String[] s=br.readLine().split(",");
n=Integer.parseInt(s[0]);
s=br.readLine().split(",");
for(int i=1;i<=n;i++) {
a[i]=Integer.parseInt(s[i-1]);
}
int k=a[0];
for(int i=1;i<=n;i++) {
if(res[i-1]<0) res[i]=a[i];
else res[i]=a[i]+res[i-1];
k=max(k,res[i]);
}
System.out.println(k);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)