当前位置:首页 > 开发 > Web前端 > 前端 > 正文

文件的读写 -- java FileInputStream

发表于: 2011-12-09   作者:cuityang   来源:转载   浏览次数:
摘要: 一 FileInputStream 方式读写 可以读写 jpg doc txt等文件,因为  以字节流 方式传输 二 FileReader 方式读写 只能读写txt文件,因为以 字符流 方式传输   package test.file; import java.io.*; public class FileIOTest {  /**  * 读取

一 FileInputStream 方式读写 可以读写 jpg doc txt等文件,因为  以字节流 方式传输

二 FileReader 方式读写 只能读写txt文件,因为以 字符流 方式传输

 

package test.file;

import java.io.*;

public class FileIOTest {

 /**
  * 读取的字符 为-1 表示文件结束 对中文采用unicode
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
 
  FileIOTest f = new FileIOTest();
  try {
   f.ReadWriteFileByByte();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }

 }
 
 //用字节流传输  可以将字节流转换成指定的字符流 详见 函数ReadWriteFile
 public void ReadWriteFileByByte() throws IOException{
  
  String sfile = "c:\\企业文化(1)(1).doc";
//  String sfile = "c:\\ask.jpg";
  String dfile ="d:\\企业文化(1)(1).doc";
  File srcFile = new File(sfile);
  File destFile = new File(dfile);
  
  try {
   if(!destFile.exists()){
    destFile.createNewFile();
   }
   FileInputStream fin = new FileInputStream(srcFile);
   FileOutputStream fout = new FileOutputStream(destFile);
//   在末尾追加字符
//   FileOutputStream fout = new FileOutputStream(destFile,true);
   
//这样是不对的 因为无法检测是否为-1 表示文件结束   
//   byte[] bytes = new byte[1024];
//   fin.read(bytes);
//   fout.write(bytes);
        //  一次读取1024字节
   byte[] bytes = new byte[1024];
   while(fin.read(bytes)!=-1){
    fout.write(bytes);
    fout.flush();
   }
   
   fin.close();
   fout.close();
   
  } catch (FileNotFoundException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
  
 }
 
 //用字符流输入输出  readline 一行一行地读取
 public void ReadWriteFile() throws IOException{
  //只能打开txt 文件 复制 c:\\企业文化.doc就出现乱码
  String sfile = "c:\\ProjectEstablishFinderImpl.java";
  String dfile ="d:\\ProjectEstablishFinderImpl.java";
//转换编码 这里没有用到
  File srcFile = new File(sfile);
  FileInputStream fin1 = new FileInputStream(srcFile);
  InputStreamReader ins1 = new InputStreamReader(fin1,"utf-8");
// 转换编码结束
//  File destFile = new File(dfile);
//  FileOutputStream fout = new FileOutputStream(destFile);
//  OutputStreamWriter outs = new OutputStreamWriter(fout);
  FileReader ins = new FileReader(sfile);
  FileWriter outs = new FileWriter(dfile);
  
  BufferedReader readBuf = new BufferedReader(ins);
  BufferedWriter writeBuf = new BufferedWriter(outs);
  String s = null;
  while((s=readBuf.readLine())!=null){
//   System.out.println(s);
   writeBuf.write(s);
   writeBuf.newLine();//启用新的一行
   writeBuf.flush();
  }
  readBuf.close();
  writeBuf.close();
 }

 //编码转换~~
// public String encode(byte[] array){  
//  String~~
//         return EncodingUtils.getString(array,TEXT_ENCODING);  
// } 
}

文件的读写 -- java FileInputStream

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
文件输入流 FileInputStream 博客分类: java IO Java FileInputStream 类从文件中读取数据。它有以
FileInputStream 类从文件中读取数据。它有以下构造方法: FileInputStream(File file)--------参数
1. FileInputStream类结构, 继承自InputStream 2. FileInputStream的方法 构造方法: public FileIn
Java中读写资源文件最重要的类是Properties,功能大致如下: 1. 读写Properties文件 2. 读写XML文件
/** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public class Re
IO概述: IO(Input output)流 作用:IO流用来处理设备之间的数据传输 Java对数据的操作是通过流的方
在用Java程序进行读写含中文的txt文件时,经常会出现读出或写入的内容会出现乱码。原因其实很简单,
FileInputStream和FileOutputStream是比较简单的输入和输出流。对于输入和出流的理解下面我用图示的
FileInputStream类和FileOutputStream类用于从/向文件读取/写入字节。它们的所有方法都是从InputStr
输入输出是指应用程序与外部设备及其他计算机进行数据交流的操作,如读写硬盘数据、向显示器输出数
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号