`

文件的读写 -- java FileInputStream

 
阅读更多

一 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);  
// } 
}

分享到:
评论
1 楼 hukaimiao 2014-08-15  
[/c佛挡
[size=x-small][color=darkred][/size]
杀佛[color=red][/color]olor]

相关推荐

    xls文件读写--图形界面---Swing

    在本主题"xls文件读写--图形界面---Swing"中,我们将探讨如何利用Swing构建一个应用,该应用允许用户通过GUI选择并操作Excel(xls)文件,特别是用于工资条打印。 首先,我们需要引入必要的库,包括`javax.swing`和...

    文件管理系统---java

    3. **文件读写**: - 读取文件:`BufferedReader`和`InputStreamReader`组合可以逐行读取文本文件,`FileInputStream`用于二进制文件。 - 写入文件:`PrintWriter`或`BufferedWriter`可用于文本文件,`...

    读写文件操作demo-java

    在Java编程语言中,文件的读写操作是日常开发中不可或缺的部分。本示例"读写文件操作demo-java"旨在教你如何使用Java进行文件的读取和写入,这对于处理数据存储、日志记录或是任何需要与磁盘交互的应用程序至关重要...

    java文件读写操作

    在Java编程语言中,文件读写操作是程序与外部数据交互的基本能力。这篇学习笔记将带你初探这个领域,适合新手入门。我们将讨论如何使用Java进行文件的读取、写入以及一些常见的应用场景。 首先,Java提供了java.io...

    java实现文件的读写操作

    总结,Java中的文件读写操作涉及到多个类和接口,理解并熟练运用它们是每个Java开发者必备的技能。通过上述介绍和示例,你应该对Java的文件操作有了基本的认识。实践中,你可以根据具体需求选择合适的方法和类,实现...

    java 二进制文件的读写操作

    ### Java 二进制文件的读写操作 在Java中,进行二进制文件的读写操作是非常常见的需求,尤其是在处理非文本类型的文件(如图片、音频或视频等)时。本文将详细介绍如何使用`FileInputStream`和`FileOutputStream`类...

    【IT十八掌徐培成】Java基础第13天-04.字节流-FileInputStream-FileOutputStream.zip

    `FileInputStream`和`FileOutputStream`是Java.io包下的核心类,它们分别代表了文件输入流和文件输出流。这两个类用于对文件进行字节级别的读写操作,适用于处理任何类型的二进制数据,如图片、音频、视频文件等。 ...

    java 文件读写

    在Java编程中,文件读写是一项基础且重要的操作。它涉及到如何访问和处理磁盘上的文件,包括读取文本文件、二进制文件,以及写入新的数据到文件中。在这个场景中,我们关注的是“java文件读写”,特别是读取`...

    目录多文件上传-JAVA IO流常用详解

    - 在文件读写过程中可能会遇到各种异常(如文件不存在、权限不足等)。 - 使用try-catch语句块捕获并处理这些异常,避免程序崩溃。 - 输出异常堆栈信息可以帮助定位问题所在。 6. **注意事项** - 确保源目录...

    File-Operation-by-java.rar_java 文件复制_operation

    虽然Java标准库对文件权限的操作相对有限,但可以通过`setWritable()`, `setReadable()`, `setExecutable()`方法改变文件的读写执行权限。 这个示例项目不仅提供了上述基本操作,还可能包含了多线程、缓冲流(提高...

    JAVA简单的读写文本文件的代码

    通过上述四个主要部分的分析,我们可以看到Java语言在处理文件读写方面提供了丰富的API支持。使用合适的类库可以极大地简化开发工作并提高程序的性能。例如,使用`StringBuffer`可以有效地处理字符串的动态增长;而`...

    Java 中对文件的读写操作之比较

    随着Java的发展,不同版本提供了多种方式来处理文件读写,这使得开发者可以根据实际需求选择最合适的方法。本文将重点探讨Java在不同版本中所提供的文件读写方式,并对其进行对比分析。 #### 一、JDK 1.0 中的文件...

    Java流(文件读写操作)

    ### Java流(文件读写操作) #### 一、流的分类 Java中处理文件和数据时,使用流的概念来进行操作。根据不同的标准,流可以分为几种类型。 ##### 1. 按数据流动方向 - **输入流**:主要用于从数据源读取数据。输入...

    Java 读写文件文本文件的示例

    根据给定的文件信息,我们将深入探讨Java读写文件文本文件的关键知识点,这些知识点主要集中在文件的读取、写入以及流的复制等操作上。 ### Java读取文本文件 在Java中,读取文本文件通常涉及到使用`InputStream`...

    java读写properties配置文件

    ### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`...

    java读写csv文件,中文乱码问题

    在Java编程中,CSV(Comma Separated Values)...通过以上步骤和知识点,你应该能够有效地解决Java读写CSV文件时遇到的中文乱码问题。在实际项目中,结合具体的错误现象,灵活应用这些知识就能顺利处理各种编码问题。

    IBM-ETP-java培训10.Java IO.ppt

    FileInputStream和FileOutputStream用于读写文件,而FileReader和FileWriter则处理字符文件。 7. **文件流的复制**:使用FileInputStream和FileOutputStream,结合Buffered流,可以实现高效的大文件复制。 8. **...

    java的io流文件读写

    Java的IO流是Java平台提供的一种处理输入输出数据的重要机制,尤其在文件读写方面,它扮演着核心角色。对于初学者来说,理解和掌握Java IO流的使用是学习Java编程的基础,也是进阶到更复杂系统开发的关键一步。 ...

    文件读写 文件读写文件读写 文件读写

    在IT领域,文件读写是程序与数据交互的基础操作,无论是开发桌面应用、网页服务还是移动应用,都离不开对文件的处理。文件读写涉及多种技术,包括文本文件的读取与写入、二进制文件操作、流式处理、缓冲机制等。下面...

Global site tag (gtag.js) - Google Analytics