每日总结

所花时间: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);
		
	}
}
 
posted @   南北啊  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
1 2 3
4
点击右上角即可分享
微信分享提示