java中创建文件通过键盘输入的形式在文件中写入姓名以及学号
任务描述
比如我们想要通过java程序在D盘practice01文件夹下创建不同类型的文件,比如.java文件、.txt文件,这里我们以.txt文件为例。然后在文件中通过键盘输入的形式写入姓名以及学号,假如学号是11位数的,当我们输入位数错误的话,就会抛出异常提示位数错误,要求重新输入。直到输入位数正确了最后输出成功提示。
程序代码
package task4th;
import java.io.FileWriter;//FileWrite用于写文件
import java.io.BufferedWriter;//导入类,可使数据写入缓冲区
import java.io.IOException;//导入输入输出异常类
import java.io.File;//导入类File,用于创建文件
import java.util.Scanner;//导入Scanner类
public class CreateFile {
public static void main(String[] args) throws IOException{
try{ //使用try-catch语句,尝试执行,但是可能会出现异常的代码
//使用File()方法在指定路径下创建一个文件对象(绝对路径)
File f = new File("D:/practice01/wenjian.txt");
if(f.createNewFile()){ //创建一个.txt文件
System.out.println(".txt文件创建成功");
}else{
System.out.println("该文件wenjian.txt已经存在!");
}
}catch(IOException e){//把异常放入e中,捕获异常对异常做处理
e.printStackTrace();//打印异常信息
}
FileWriter f1 = new FileWriter("D:/practice01/wenjian.txt");
//使用缓冲区的方法把数据写到缓冲区
BufferedWriter b = new BufferedWriter(f1);
//开一个键盘录入的口
Scanner s = new Scanner(System.in);
System.out.print("请输入姓名:");
String name=s.next();//把键盘输入的信息赋给变量name
b.write("姓名:");//向文件中写入
b.write(name);//向文件中写入姓名
b.newLine();//换行
System.out.print("请输入学号:");
//使用try-catch语句,尝试执行,但是可能会出现异常的代码
try{
String no=s.next();//把键盘输入的信息赋给变量no
b.write("学号:");//向文件中写入
int length=no.length();//获取学号的长度
if(length==11){//判断学号长度是否等于11
b.write(no);//向文件中写入学号
}else{
//把int类型转化为字符串类型
String len=String.valueOf(length);
//判断长度是否等于11,等于11则结束循环
while(!len.equals("11")){
System.out.println("位数错误:请输入11位的学号!");
System.out.print("请重新输入学号:");
String no1=s.next();//把键盘重新输入的信息赋给变量no1
int length1=no1.length();//获取输入学号的长度
if(length1!=11){//判断长度是否等于11
}else{
b.write(no1);//向文件中写入学号
break;
}
}
}
//把异常放入e中,捕获异常对异常做处理
}catch(IOException e){
e.printStackTrace();//打印异常信息
}
b.flush();//使用缓冲区的方法,将数据刷新到目的文件中去
b.close();//关闭缓冲区,同时关闭f流对象
System.out.println("写入文本信息成功!");
}
}
运行结果
程序运行之后就在D盘practice01文件夹下创建了wenjian.txt文件,如下:
然后向文件中输入姓名,在输入几个错误的学号位数就会输出错误信息要求重新输入正确学号,直到输入正确的学号则会输出正确提示。结果如下:
打开文件wenjian2.txt之后就可以看到姓名和学号已经被我们添加上去了,如下: