java习题Word格式文档下载.docx
- 文档编号:16211307
- 上传时间:2022-11-21
- 格式:DOCX
- 页数:16
- 大小:27.86KB
java习题Word格式文档下载.docx
《java习题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java习题Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
NumberFormatException:
字符串转换为数字类型时抛出的异常。
NullPointerException(空指针异常),
IndexOutOfBoundsException(出界异常)
java.lang.ClassNotFoundException(指定类不存在异常)
java.lang.ArrayIndexOutOfBoundsException(数组下标越界)
11、写出File类的各成员及其功能。
创建方法
删除方法
判断方法
获取方法
文件过滤
12、RandomAccessFile是通过什么来实现随机读取功能的。
文件指针
二、编程题
第一题:
编程实现,列出当前目录下所有文件和文件夹的名称。
要求:
如果当前目录含有子文件夹,则也递归地列出子文件夹的内容;
用缩进地方式反映层次关系;
文件夹的名称用尖括号括起来。
例如:
lev1_file1
<
lev1_dir1>
lev2_file1
lev1_dir2>
lev2_dir1>
lev3_file3
packageorg.io.file;
importjava.io.*;
classFindFile{
privateFilef;
privateStringflname="
"
;
//用于返回所要输出的文件名
privateintcount=0;
//对所查询到的文件个数进行计数
publicFilegetF(){
returnf;
}
publicvoidsetF(Filef){
this.f=f;
publicStringgetFlname(){
returnflname;
publicvoidsetFlname(Stringflname){
this.flname=flname;
publicvoidgetFileName(Filef){
if(f.isFile()){
System.out.println(f.getName());
//如果当前对象是一个文件,则直接输出
}else{
Filefl[]=f.listFiles();
//如果当前当想是一个目录,则通过listFiles()方法返回一个当前文件夹下的对象数组
for(inti=0;
i<
fl.length;
i++){
if(fl[i].isFile()){
flname=fl[i].getPath()+fl[i].getName()+"
\n"
+flname;
//输出返回的对象数组中文件的名称。
count++;
this.getFileName(fl[i]);
//通过递归,把返回的对象数组中属于目录的对象传递给this.getFileName(Filef);
publicintgetCount(){
returncount;
publicvoidsetCount(intcount){
this.count=count;
}
publicclassFileTest{
publicstaticvoidmain(String[]args)throwsError{
Filef=newFile("
f:
\\FTP"
);
System.out.println("
isDirectory:
+f.isDirectory());
FindFileff=newFindFile();
ff.getFileName(f);
共查询到"
+ff.getCount()+"
个文件"
System.out.println(ff.getFlname());
第二题:
编写一个程序,用于从键盘读入信息,并存储到磁盘文件中去。
1、以行的方式读入姓名和学号信息,例如:
张三20071215(姓名和学号中间用一个空格隔开)
2、循环读入,直到用户输入“quit”或者“QUIT”结束
3、程序提示要用户输入一个文件名,例如:
请输入存储到的文件名:
userlist.txt
4、在整个上述过程中,要做例外处理;
如果文件创建成功,则给出提示信息。
publicclasstest1
{
publicstaticvoidmain(String[]args)
{
T1();
}
publicstaticvoidT1()
FileWriterout;
BufferedWriterbw;
StringfileName=null;
Stringmessage=null;
Scannerscanner=newScanner(System.in);
System.out.print("
fileName=scanner.next();
try
out=newFileWriter(fileName);
bw=newBufferedWriter(out);
\n文件创建成功!
\n请输入姓名和学号信息:
while(!
(message=scanner.next()).equalsIgnoreCase("
quit"
))
bw.write(message);
bw.newLine();
bw.close();
out.close();
catch(Exceptione)
文件创建失败!
}}
第三题:
编写一个程序,用于从第二题存储的磁盘文件中读出信息,并显示在屏幕上。
1、文件名从键盘输入;
2、姓名和学号分开显示,例如屏幕显示如下信息:
文件userlist.txt中存储的姓名有:
张三李四王五……
文件userlist.txt中存储的学号有:
200612152006131720061425…..
importjava.util.Scanner;
publicclasstest2
T2();
publicstaticvoidT2()
FileReaderread;
BufferedReaderin;
String[]buf=newString[2];
String[]name=newString[10];
String[]number=newString[10];
intpos1=0;
intpos2=0;
请输入要读取的文件名:
read=newFileReader(fileName);
in=newBufferedReader(read);
while((message=in.readLine())!
=null)
buf=message.split("
"
name[pos1++]=buf[0];
number[pos2++]=buf[1];
buf=newString[2];
该文件不存在!
System.out.println("
屏幕显示如下信息:
文件"
+fileName+"
中存储的姓名有:
for(inti=0;
name[i]!
=null;
i++)
System.out.print(name[i]+"
\n文件"
中存储的学号有:
number[i]!
System.out.print(number[i]+"
}}
第四题:
编写程序,列出当前目录下所有后缀为.txt和.doc的文件。
importjava.io.File;
importjava.util.ArrayList;
importjava.util.List;
publicclassfile{
/**
*@paramargs
*/
publicstaticvoidmain(String[]args){
Jiaoguf=newJiaogu();
List<
File>
ll=f.getFiles(newFile("
d:
\\testfiledir"
),"
txt"
||"
doc"
for(Fileff:
ll){
System.out.println(ff.getPath());
publicList<
getFiles(FilefileDir,StringfileType){
lfile=newArrayList<
();
File[]fs=fileDir.listFiles();
for(Filef:
fs){
if(f.isFile()){
if(fileType
.equals(f.getName().substring(
f.getName().lastIndexOf("
."
)+1,
f.getName().length())))
lfile.add(f);
}else{
ftemps=getFiles(f,fileType);
lfile.addAll(ftemps);
returnlfile;
}
第五题:
编写程序,实现文件拷贝功能:
即按照用户输入的文件名实现把第一个文件的内容拷贝到第二个文件中。
publicclassCopy{
publicstaticvoidmain(Stringargs[]){
if(args.length!
=2){
System.out.println("
参数不正确,无法完成复制!
正确用法:
javaCopy源文件名目的文件名"
System.exit(0);
}
copyFile(args[0],args[1]);
publicstaticvoidcopyFile(Stringsrc,Stringobj){
FileInputStreamfis=null;
FileOutputStreamfos=null;
try{
fis=newFileInputStream(src);
fos=newFileOutputStream(obj);
}catch(FileNotFoundExceptione){
文件不存在,请检查您的输入:
}catch(IOExceptione){
e.printStackTrace();
intb;
while((b=fis.read())!
=-1){
fos.write(b);
}
fos.flush();
文件复制成功!
文件写入错误!
第六题:
编写应用程序,可以把从键盘输入的字符串读到数组中,并在屏幕上逆序输出。
(要求用流的方式实现)。
importjava.util.*;
publicclasslaji1{
intn=100;
Scannerscanner=newScanner(System.in);
请输入字符串:
Stringyy=scanner.nextLine();
StringTokenizerfenxi1=newStringTokenizer(yy,"
Stringstr[]=newString[n];
for(inti=0;
fenxi1.hasMoreTokens();
i++){
str[i]=fenxi1.nextToken();
for(inti=n-1;
i>
=0;
i--){
if(str[i]!
=null)
System.out.print(str[i]+"
Scannerscanner=newScanner(System.in);
System.out.print("
Stringyy=scanner.nextLine();
StringTokenizerfenxi1=newStringTokenizer(yy);
intn=fenxi1.countTokens();
Stringstr[]=newString[n];
for(inti=0;
str[i]=fenxi1.nextToken();
for(inti=n-1;
System.out.print(str[i]+"
第七题
编写应用程序,利用DataOutputStream和DataInputStream实现将Java中基本数据类型写入到一个文件和按照java基本数据类型读入到程序并打印到屏幕的功能。
publicclassTestClass
{
publicstaticvoidmain(String[]args)throwsException
{
TestClasst=newTestClass();
t.write();
t.read();
publicvoidwrite()throwsException
Stringpath=this.getClass().getClassLoader().getResource("
test.txt"
).toURI().getPath();
OutputStreamos=newFileOutputStream(path);
DataOutputStreamdos=newDataOutputStream(os);
dos.writeDouble(Math.random());
dos.writeBoolean(true);
dos.writeInt(1000);
dos.writeInt(2000);
dos.flush();
os.close();
dos.close();
publicvoidread()throwsException
InputStreaminstream=this.getClass().getClassLoader().getResourceAsStream("
DataInputStreamdis=newDataInputStream(instream);
doubled=dis.readDouble();
booleanb=dis.readBoolean();
//先写的先被读出来
inti1=dis.readInt();
inti2=dis.readInt();
instream.close();
dis.close();
System.out.println(d);
System.out.println(b);
System.out.println(i1);
System.out.println(i2);
第八题
编写应用程序,创建一个RandomAccessFile类的对象,实现将Java中基本数据类型写入到文件和按照java基本数据类型读入到程序并打印到屏幕的功能。
RandomAccessFileraf=null;
StringfileDirAndName="
e:
/files/demo.txt"
//文件目录及名称
Filefile=newFile(fileDirAndName);
//创建欲操作的文件对象,此文件不存在则进行创建
raf=newRandomAccessFile(file,"
rw"
//创建随机访问读写rw的文件流
intnum=65535;
raf.writeInt(num);
//写入一个int类型数据
raf.close();
//关闭流
RandomAccessFileraf2=null;
StringfileDirAndName2="
Filefile2=newFile(fileDirAndName2);
//创建欲操作的文件对象
raf2=newRandomAccessFile(file,"
r"
//创建随机访问输入r文件流
intresult=raf2.readInt();
//从文件中读取一个int类型数据
System.out.println("
这个int类型数据是:
+result);
raf2.close();
第九题
编写程序:
1、实现将从键盘输入字符串按照Ascii码输入到一个文本文件中的功能;
2、从1中所生成文本文件中读入Ascii编码的数据读入到程序并转化成字符串然后输出到屏幕上。
publicclassFileWrite{
BufferedReaderbr=null;
BufferedWriterbw=null;
BufferedReaderbr1=null;
try{
br=newBufferedReader(newInputStreamReader(System.in));
//字符输入流从键盘读取数据
bw=newBufferedWriter(newFileWriter("
D:
/temp/title.txt"
));
//字符输出流写数据到文件
br1=newBufferedReader(newFileReader("
//字符输入流从文件读取数据
str=(byte)String.charAt(int);
str=br.readLine();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 习题