Cyh的博客

Email:kissyan4916@163.com
posts - 26, comments - 19, trackbacks - 0, articles - 220

从键盘接收数据并输出到文件

Posted on 2009-05-24 21:35 啥都写点 阅读(325) 评论(0)  编辑  收藏 所属分类: J2SE
关键技术:
  • 键盘属于标准输入,通过System.in可以获得标准输入流
  • 利用PrintWriter输出字符串到文件,它的flush方法将文件内容从内存缓冲区写进文件,在构造PrintWriter时,可以通过参数指定自动flush。

package book.io;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
/**
 * 从标准输入流中读取数据,并存储到文件中
 
*/
public class CatStdinToFile {

    
public static boolean catStdinToFile(String fileName){
        File file 
= new File(fileName);
        
//将数据按照文本输出到文件
        PrintWriter writer = null;
        BufferedReader in 
= null;
        
try {
            
//为输出文件建立一个写入器
            writer = new PrintWriter(new FileWriter(file));
            System.out.println(
"请输入文件内容,输入quit结束");
            
//用BufferedReader包装标准输入流
            in = new BufferedReader(new InputStreamReader(System.in));
            String inputLine 
= null;
            
while (((inputLine = in.readLine( )) != null&& (!inputLine.equals("quit"))) {
                writer.println(inputLine);
            }
            
//如果采用new PrintWriter(new FileWriter(file), true)则会自动flush。
            writer.flush();
            writer.close();
            
return true;
        } 
catch (IOException e) {
            System.out.println(e.getMessage());
            
return false;
        } 
finally {
            
if (in != null){
                
try {
                    in.close();
                } 
catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }

    
public static void main(String[] args) {
        String fileName 
= "C:/temp/temp.java";
        CatStdinToFile.catStdinToFile(fileName);
        System.out.println();
        System.out.println(
"输出文件的内容:");
        ReadFromFile.readFileByLines(fileName);
    }
}



                                                                                                       --    学海无涯
        


只有注册用户登录后才能发表评论。


网站导航: