/**
* 使用异常捕获完成下述操作
* 将控制台输入的每一行字符串使用缓冲字符输出流PrintWriter
* 按行以GBK编码写入到文件note.txt中
* @author Xiloer
*
*/
代码如下:
public class Demo2 {
public static void main(String[] args) {
PrintWriter pw = null;
try{
Scanner scan = new Scanner(System.in);
FileOutputStream fos = new FileOutputStream("note.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"GBK");
pw = new PrintWriter(osw);
for(;;){
System.out.println("请输入,若输入为EXIT则退出!");
String input = scan.nextLine().trim();//接收输入的内容
if("exit".equalsIgnoreCase(input)){
System.out.println("退出程序");
break;
}
pw.println(input);
}
System.out.println("写入程序完毕");
}catch(Exception e){
e.printStackTrace();
}finally{
pw.close();
}
}
}
测试结果如下:
请输入,若输入为EXIT则退出!
123
请输入,若输入为EXIT则退出!
987
请输入,若输入为EXIT则退出!
你好吗?
请输入,若输入为EXIT则退出!
helloworld
请输入,若输入为EXIT则退出!
exit
退出程序
写入程序完毕
/**
* 使用异常捕获机制完成下述读取操作。
* 使用缓冲流读取note.txt文件,并将每行字符串输出到控制台上
* @author Xiloer
*
*/
代码如下:
public class Test03 {
public static void main(String[] args) {
BufferedReader br = null;
try{
br = new BufferedReader(
new InputStreamReader(
new FileInputStream("note.txt"),"GBK"));
String str = null;
while((str = br.readLine())!= null){
System.out.println(str);
}
System.out.println("读取文件完成");
}catch(Exception e){
e.printStackTrace();
}finally{
if(br != null){
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
测试结果如下:
123
987
你好吗?
helloworld
读取文件完成