首页 > 分享 > Java实验三总结(文件)

Java实验三总结(文件)

最新推荐文章于 2022-11-17 20:39:33 发布

00号宇航员 于 2019-05-22 21:56:36 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

我觉得最重要的就是这个readFile函数了

package File;

import java.util.StringTokenizer;

import java.io.*;

public class ReadFile

{

public Student[] readFile(String fileName)

{

String firstLine;

String message;

int lineNumber=0;

try

{

FileReader in=new FileReader(fileName);

LineNumberReader lnr=new LineNumberReader(in);

while(lnr.readLine()!=null)

{

lineNumber++;

}

lnr.close();

}catch(IOException ioe) {System.out.println("输入输出错误!");}

Student stu[]=new Student[lineNumber-1];

RandomAccessFile inAndOut=null;

try

{

inAndOut=new RandomAccessFile(fileName,"rw");

firstLine=inAndOut.readLine();

byte a[]=firstLine.getBytes("iso-8859-1");

firstLine=new String(a);

long length=inAndOut.length();

long position=inAndOut.getFilePointer();

int num=0;

while(position<length)

{

if(firstLine.contains("导师"))

{

message=inAndOut.readLine();

byte b[]=message.getBytes("iso-8859-1");

message=new String(b);

position=inAndOut.getFilePointer();

StringTokenizer fenxi=new StringTokenizer(message);

int id=Integer.parseInt(fenxi.nextToken());

String name=fenxi.nextToken();

int mathScore=Integer.parseInt(fenxi.nextToken());;

int computerScore=Integer.parseInt(fenxi.nextToken());;

String tutor=fenxi.nextToken();

String area=fenxi.nextToken();

stu[num]=new Postgraduate(id,name,mathScore,computerScore,tutor,area);

num++;

}

else

{

message=inAndOut.readLine();

byte b[]=message.getBytes("iso-8859-1");

message=new String(b);

position=inAndOut.getFilePointer();

StringTokenizer fenxi=new StringTokenizer(message);

int id=Integer.parseInt(fenxi.nextToken());

String name=fenxi.nextToken();

int mathScore=Integer.parseInt(fenxi.nextToken());

int computerScore=Integer.parseInt(fenxi.nextToken());

stu[num]=new Undergraduate(id,name,mathScore,computerScore);

num++;

}

}

inAndOut.close();

}catch(IOException ioe) {System.out.println("第二个输入输出错误!");}

return stu;

}

}

j
1.引用StringTokenizer类的时候,要import java.util.StringTokenizer类,用的时候要StringTokenizer fenxi=new StringTokenizer(message);
新建一个分析器对象,括号里是被分隔开的字符串,默认是各种空格的组合、换行符、回车符、tab键,要是自己又想法,就在string后边自己加。

这个读出来的是字符串,要变成int要用Integer.ParseInt()函数自己转化
2.try
{

}
catch(IOException){System.out.println("输入输出错误!");}
3.读取行数:LIneNumberReader类有个readLine函数,可以直接读取行数,但参数一定要是FileReader

4.空指针错误在java中我总是会出现,原因就是输出print函数循环的次数多了,数组没有那么大,回去找数组定义,数量是不是定义大了

5.这个把文件读进来之后怎么判断本科生还是研究生这个是找老师问的,第一种方法是判断读入的第一行里有没有“导师”这个词,第二种方法是判断第一行的数量,我咋就没想到呢。

6.注意转码写法

相关知识

实验三
java 自动生成字体库
Java项目支付接口
用java 搭建前端和后端
java计算机毕业设计短视频的推荐平台(开题+程序+论文)
Java毕业设计
《JAVA语言程序设计》期末考试试题及答案
基于Java Web的园林花卉租售与库存管理网站设计与实现
Java程序设计在线作业解析
基于JAVA的鲜花销售系统(源码+开题)

网址: Java实验三总结(文件) https://m.huajiangbk.com/newsview1143154.html

所属分类:花卉
上一篇: 生命太短暂了,没时间恨一个人那么
下一篇: 作文:生命 生命