文件读写

 

文件写入:public FileOutputStream(String name, boolean append) throws FileNotFoundException创建一个向具有指定 name 的文件中写入数据的输出文件流。如果第二个参数为 true,则将字节写入文件末尾处,而不是写入文件开始处。

import java.io.*;

public class Demo{

    public static void main(String[] args){

        boolean isWrite = writeFile("D://Java//cc.txt");

        System.out.println(isWrite?"写入成功":"写入失败");

    }   

    private static boolean writeFile(String fileName){//返回boolean

        try{

            BufferedWriter bw = new BufferedWriter(new FileWriter(fileName));

            bw.write("you have written something down"); //写入

            bw.flush();                  //清除缓冲区

            bw.close();                 //关闭文件

            return true;

        }catch(IOException e){

            return false;

        }    }}

文件读出:用filereader 来读取文件的常用方法是:

filereader fr = new filereader("mydata.txt");

bufferedreader br = new bufferedreader(fr);

br.readline() 来读出数据,然后用br.close() 关闭缓存,用fr.close() 关闭文件。

读取文件内容并转换为字符串:

       String FileName="d:/2.txt";

        File myFile=new File(FileName);

        if(!myFile.exists()) {

            System.err.println("Can't Find " + FileName);

        }

        try {

            BufferedReader in = new BufferedReader(new FileReader(myFile));

            String str;

            while ((str = in.readLine()) != null) {

                  System.out.println(str);

            }

            in.close();

        }

        catch (IOException e) {

            e.getStackTrace();

        }

import java.io.*;

public class Test {

public static void main(String[] args){

String s = new String();

String s1 = new String();

try {

BufferedWriter output = new BufferedWriter(new FileWriter("E://123.txt")); //写入流

output.write(s1); //s1为写入的字符串

output.close();

BufferedReader input = new BufferedReader(new FileReader("E://123.txt")); //读取流

while((s = input.readLine())!=null){ //判断是否读到了最后一行

System.out.println(s);

}

input.close();

} catch (IOException e) {

} } }

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class WriteToDoc {

 /**

  * 功能:

  * 1.接受键盘的输入,并原样输出到屏幕上

  * 2.将键盘的输入数据按顺序存放到文档中

  * 使用方法:java WriteToDoc 文件存放位置

  * 要结束此程式,在行的开始部分输入一个#

  */

 public static void main(String[] args) { 

  byte[] buffer=new byte[1024];

  boolean cont=true;  //循环控制变量

  FileOutputStream outfile=null;  //文档输出对象

  //生成对象outfile,准备输出到文档

  try{

   outfile=new FileOutputStream(args[0]);

  }catch(FileNotFoundException e)

  {

   System.out.println("File Not Found!");

   System.exit(1);

  }

  //行首没有输入句号时执行以下循环

  while(cont){

   try{

    //从控制台读入数据

    int n=System.in.read(buffer);

    System.out.println(n);//输出到控制台

    if(buffer[0]=='#'){

     cont=false;

    } else{

     outfile.write(buffer, 0, n);

    }

   }catch(Exception e) {

    System.exit(1);

   }  }

  try{

   outfile.close();

  }catch(IOException e)  {

   System.err.println("文档错误");

   System.exit(1);

  } }}

分析:FileOutputStreamwrite方法原型: public void write(byte[] b,int off,int len) throws IOException  第一个参数:表示从哪里读取数据;第二个参数:表示数据从什么地方开始写,比如如果数据为"hahatest",而off=4的话,则写到文本里边的是test;第三个参数:写入数据的长度,本例中n=System.in.read得到的,假如输入的数据为"haha",则n=6,因为加了一个换行进去,如果想把输入不同行的数据最后写到一行里边,需要n-2

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值