文件读写

文件写入: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);
  } 
}
}
分析:FileOutputStream的write方法原型: 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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值