📄 listallbooks.java
字号:
import java.util.*;//导入util包
import java.io.*;//导入IO包
class ListAllBooks
{
//功能:将books.txt中的图书信息全部读出来并显示。假设books.txt中的图书信息中的书名和日期是用“,”分开,图书信息之间可以用“;”分开
//改进:如果书本的信息用行分隔符分开,则可用BufferReader的readLine方法,程序要简单和优雅得多。
public static void main(String args[]) throws Exception// 主函数入口
{
FileReader fr=new FileReader("books.txt");//新建FileReader的实例fr,文件名books.txt,以便从文件中读入书本信息
StringBuffer books[]=new StringBuffer[10];//新建StringBuffer数组实例,实例名为books,元素个数为书本数量的可能的最大值
for(int i=0;i<10;i++)
{
books[i]=new StringBuffer();//建立一个对象
}
int aChar;//定义一个int变量aChar
int index=0;//定义一个int变量index,作为数组元素的索引,并赋值为0
books[index]=new StringBuffer();//新建一个StringBuffer实例,赋给books[index]
while((aChar=fr.read())!=-1)//while循环,从fr中读入一个字符,赋值给aChar,并判断是否为-1,是则结束循环
{
char Char=(char)aChar;//将aChar转换为字符型
if(Char==';')
{
index++;
books[index]= new StringBuffer();
}// 判断是否为aChar的值是否为“;”,如果是:index的值+1,新建一个StringBuffer实例,赋给books[index],进入下次循环
books[index].append(Char);//将aChar添加到books[index]中
}
for(int i=0;i<10;i++)//for 循环,遍历books数组
{
System.out.println(books[i]);//显示书名和借书日期
}
fr.close();//关闭fr
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -