`

文件输入输出字节流

    博客分类:
  • Java
阅读更多

FileInputStream FileOutputStream的用法总结

 

采用byte数组保存内容.适合小文件的读取写入操作

 

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 
 * @author hb
 */
public class FileIo {
	/**
	 * 输入流 InputStream   字节
	 * 输出流 OutputStream  字节
	 */
	
	public static void main(String[] args) {
		//String str="中南林业科技大学";
//		String Path="d:\\ISO.vdi";//测试大文件的读取available(),zip文件发现不会读完一个就自动补充到输入流。镜像文件会自动补充
		
		String Path = "d:\\1.docx";
		String Path1 = "d:\\2.txt";
		byte[] bf={-42,-48,-60,-49,-63,-42,-46,-75,-65,-58,-68,-68,-76,-13,-47,-89};//中南林业科技大学的字节.
		File f= new File(Path);
		File f1= new File(Path1);
		byte b[]=reader(f);		
		writter(f1,b);
	}
	
	public static void writter(File f,byte bs[]){
		if(!f.exists()){
			try {
				f.createNewFile();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		
		try {
			FileOutputStream fos = new FileOutputStream(f,true);//将内容加到末尾	
//			FileOutputStream fos = new FileOutputStream(f);//覆盖文件
	//**********************遍历方法1***********		
//			byte[] bs = str.getBytes();
//			fos.write(bf);
			
			//方法2:如果需要屏蔽某些关键字,用for来遍历。***********
			for(byte b:bs){
				
				fos.write(b);	
				
			}

			//写入速度太慢,强制将数据输出到目标
				fos.flush();
				fos.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		
		
	}
	
	public static byte[] reader(File f){
		try {
			FileInputStream fis = new FileInputStream(f);
			int len = fis.available();
			byte [] bs=new byte[len];
			
			
//*********************************************************//
			
//			while(len>0){			
//			int b= fis.read();
//			System.out.println(b);
//			System.out.println(fis.available());
//			len=fis.available();
//		}
			
//*********************************************************//

//			int i=0;
//			int b= fis.read();
//			while(b!=-1){
//				bs[i]=(byte)b;
//				i++;
//				b= fis.read();
//				
//				
//			}
			
//*********************************************************//
			
			fis.read(bs);
			
			
			fis.close();
			String str= new String(bs);
			System.out.println(str);
			return bs;
		} catch (IOException e) {
			e.printStackTrace();
		}
		return null;
		
	}
	
	
}

 

0
0
分享到:
评论

相关推荐

    JAVA输入输出流实验报告

    JAVA中,字节流和字符流的套用,提供IO输入输出的基本语法和步骤

    Java的IO流讲解代码: File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型

    File 类、RandomAccessFile 类、字节流(文件字节流、缓冲字节流、基本数据类型字节流、打印流、对象序列化流、字节数组流)、字符流(缓冲字符流、文件字符流、转换流、格式化输出流、字符数组流) 这份代码源码...

    java 文件操作(对文件的输入输出)

    java 文件操作 字节流 字符流 包装流 对文件的输入输出

    java中的标准输入输出流

    本文档涵盖了java中标准输入输出流,包含InputStream、OutputStream字节流还有字符流以及对文件的读写操作等

    Java字节流 从文件输入输出到文件过程解析

    主要介绍了Java字节流 从文件输入 输出到文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    JAVA IO流缓冲字节流缓冲字符流等流经典代码示例加注释总结.rar

    2、常用21个IO流:FileWriter、FileReader、CharArrayReader、CharArrayWriter、...代码功能涉及字节、字符、字符串、文本文件、图片、音频、视频。演示错误用法和经典用法。 4、代码的结构可查看README文件。

    字节流和字符流

    字节流与字符流在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类...

    IO文件流总结

    字节流、文件流、文件操作、字节流文件流相互转换,流的包装

    JavaPD-Ch09mao文件及输入输出流1

    引言java.io中有4个重要的abstract class– InputStream(字节输入流)– OutputStream(字节输出流)9.1 文件9.2

    Java基础核心+文件输入流+文件输出流

    使用最简单的输入流和输出流实现 文件复制粘贴功能。这是第二种方式,与第一种方式的不同在于我们使用byte[]数组盛放从myFile读取到字节。比第一种方式,速度会快一些。

    Java IO(输入输出).pptx

    掌握字节流和字符流读写文件的操作 熟悉如何使用File类访问文件系统 了解字节流和字符流的概念,输入输出概念。

    Java流(文件读写操作)

    一、 流的分类 • 按数据流动方向 ...– 字节流:用于处理字节数据。 – 字符流:用于处理Unicode字符数据。 • 按照流所处理的源 – 节点流:从/向一个特定的IO设备读/写数据的流。(低级流) – 处理

    Java中的IO流(一)字节流的常用操作

    各种字节流的用法①节点流②处理流③流的使用一般步骤④流的关闭具体用法Ⅰ文件流Ⅱ字节数组流Ⅲ缓冲流Ⅳ转换流Ⅴ数据流Ⅵ对象流(序列化和反序列化)Ⅶ打印流(PrintStream)Ⅷ附加:随机访问流最后 前言 今天带来...

    Android中文件读写(输入流和输出流)操作小结

    2. 字节流和字符流的区别: (1).字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,字符流就可以。 (2).字节流转换成字符流可以用InputStreamReader,OutputStreamWriter。 一般我们在使用的...

    IO输入输出体系.rar

    无缓冲的输入、输出流每一次读写都肯引发磁盘的读写操作,占用大量资源 缓冲流(装饰器模式) 缓冲流是一种装饰器类 可实现按规定字符数、按行等方式的高效读写 缓冲区的大写可指定 也可使用默认大小 ...

    C++的输入和输出

    C++语言本身不提供输入与输出的操作,但是可以使用标准库提供的输入与输出功能,即程序中独立于设备的 I/O 操作。 输入与输出包括: ...C++的输入输出流可以看作外部设备和计算机内存之间流动的字节序列,这些字

    Java文件复制,模拟右键复制(字节流,缓冲流)

    模拟复制粘贴字节流模拟复制粘贴缓冲流模拟复制粘贴(更高效) 字节流模拟复制粘贴 明确: 数据源:D:\jdk-11中文api修订版.CHM 目的地:E:\jdk-11中文api修订版.CHM 被复制的文件:56.4 MB (59,176,862 字节) 文件...

    IO流文件操作字节流使用

    input 输入流 read 读取数据 O output 输出流 write 写入数据 一般情况下都是按照当前程序使用的内存为参照物来考虑数据的走向问题。 文件操作为例 从内存中保存数据到硬盘 output 从硬盘中读取数据到内存 ...

    Java输入/输出流体系详解

    主要介绍了Java输入/输出流体系详解,涉及字节流和字符流,输入输出体系,转换流,以及文件的读写等相关内容,具有一定参考价值,需要的朋友可以了解下。

Global site tag (gtag.js) - Google Analytics