求教一个java io程序
学习java的一道题:获取键盘输入内容,以回车结束
然后将其输入的内容写入当前目录1.txt
并在其末尾加上系统日期!
然后读出1.txt的内容!
(要求用三种方法,每行注释)
测试通过再加50分!
答案://TestIO.java
import java.io.*;
import java.util.*;
public class TestIO {
public static void main(String[] args){
//定义一些变量
BufferedReader br = null;
FileIOMethods fm = null;
File f = null;
byte[] b = null;
String fStr = "";
StringBuffer sb = new StringBuffer();
br = new BufferedReader(new InputStreamReader(System.in));//输入流,用以获取键盘输入,并写入文件
f = new File("1.txt");//要用到的文件
if(!f.exists()){//如果文件不存在,就创建它
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
System.out.println("请输入信息:");
try {//读取键盘输入
fStr = br.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
fm = new FileIOMethods();//new一个对象
fm.MyFileWriter(fStr, f);//调用方法将读取的键盘输入信息写入文件
sb = fm.MyFileReader(f);//调用方法从文件中读取数据
if(sb != null && !sb.equals("")){
System.out.println(sb.toString());
}else{
System.out.println("文件为空!");
}
}
}
class FileIOMethods{//自定义的读取输入和打印输出的类
/**
* 获取一个字符串,将其写入文件中
*/
public void MyFileWriter(String msg,File f){
BufferedWriter bw = null;
if(!f.exists()){//若文件不存在,返回
System.out.println(f.getName() + "不存在!");
return;
}
try {
bw = new BufferedWriter(new FileWriter(f));
if(msg != null && !msg.equals("")){
bw = new BufferedWriter(new FileWriter(f));//打开流
bw.write(msg + " " + new Date().toLocaleString());//将数据写入文件,并在数据尾部加上当前时间
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
try {
bw.flush();//清空流
bw.close();//关闭流
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* 从文件中读取信息,存入StringBuffer中并返回
* */
public StringBuffer MyFileReader(File f){
BufferedReader br = null;
String msg = "";
StringBuffer sb = null;
if(!f.exists()){//若文件不存在,返回
System.out.println(f.getName() + "不存在!");
}
try {
sb = new StringBuffer();
br = new BufferedReader(new FileReader(f));//打开流
while(true){
try {
msg = br.readLine();//从文件读取数据
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(msg == null) break;//若数据为空,则跳出循环
sb.append(msg + "\
");//将获取的数据放入StringBuffer中
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(br != null){
try {//关闭流
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return sb;
}
}
}给你介绍一套不错的java视频,讲的很不错,动力节点的官方网站就有,王勇老师主讲
上一个:JAVA要如何学习啊
下一个:Java中的repaint和paint