I/O输入输出流

I/O输入输出:

1、         判断到底是输入还是输出?永远站在程序的立场上。

2、         判断到底是传递字节还是字符? 从而判断管道的粗细。

字节管道是所有数据都可以传,字符管道专门用来传递文本数据。(1个字符等于2个字节)

Java                           InputStream

流             字节流

四                              OutputStream

大                              Reader

父             字符流

类                              Writer

文件的拷贝,这是可能在面试中出现的手工书写代码!

功能:将D:/test.avi 拷贝到F:/wudi.avi

FileInputStream fis = null;

FileOutputStream fos = null;

try{

//1.建立管道

fis = new FileInputStream(D:/test.avi);

fos = new FileOutputStream(F:/wudi.avi);

//2.操作管道

//int b = 0; //明明是读一个字节,为什么要用一个int来接?

//         如果read()返回的是byte的话,那就会有负数。而"返回-1意//味着结束",这个信息量用byte是无法表达的,所以必须用int。

//while((b =fis.read()) != -1){

//  fos.write(b);

//}

byte[] b = new byte[1024];

int length = 0;//记录读取了多少个有效字节数

While((length =fis.read(b)) != -1){

fos.write(b,0,length);

fos.flush();//强制刷出缓冲区的内容。

}

}catch (FileNotFoundException e){

e.printStackTrace();

}catch(IOException e){

e.printStackTrace();

}finally{

//3.关闭管道

if(fis !=null){

try{

fis.close();

}catch(IOException e){

e.printStackTrace();

}

}

if(fos !=null){

try{

fos.close();

}catch(IOException e){

e.printStackTrace();

}

}

}

对象的序列化与反序列化(分布式应用基础)

序列化:将内存当中的对象以二进制流的形式输出

反序列化:将输入的二进制流转换为内存当中的一个对象。

反序列化(第二种产生对象的方式。)

延伸出,管道的对接。

操作流不能单独使用,需要插入节点流

对象反序列化---将输入的二进制流转换为内存中的对象。

//File类—来表示操作系统的文件或文件夹对象

File file = new File(“F:/wudi.avi”);//文件路径

File dir = new File(“F:/ppt”);//文件夹路径

//作为文件对象的常用手法:

String path = file.getAbsoutePath();//获取绝对路径

String path2 = file.getPath();//获取相对路径

long space = file.lenth();//获取文件大小

long time = file.lastModifide();//最后修改时间

System.out.pringln(new Date(time));

System.out.pringln(file.isHidden()); //是否是隐藏文件

System.out.pringln(file.canWrite());

System.out.pringln(file.isFile()); //是否是文件

System.out.pringln(file.isDirectory());//是否是文件夹

//文件分隔符(File.pathSeparator)




String path = “D:” + File.pathSeparator + “fffsa” + File.pathSeparator + “fffsa”;

//作为文件夹对象的常用方法

String[] subFileNames = dir.list();//得到文件夹下面的所有子文件或子文件夹的名字

for(String a : subFileNames){

System.out.println(a);

}

File[] s = dir.leisFiles();//得到文件夹下面的所有子文件或子文件夹

for(File b : s){

System.out.println(b.getName());

}

时间: 2024-12-11 02:40:25

I/O输入输出流的相关文章

输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

【Java】利用文件输入输出流完成把一个文件夹内的所有文件拷贝的另一的文件夹的操作

一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu

Java输入输出流

1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读写数据的标准方法.任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法. Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO. 流IO的好处是简单易用,缺点是效率较低.块IO效率很高,但编程比较

java I/O系统(输入输出流)

java I/O系统(输入输出流) 流的特性1.含有流质(数据)2.它有方向(读或写) 流的分类: 输入流和输出流 输入流:io包中的输入流继承自抽象类InputStream或Reader 输出流:io包中的输入流继承自抽象类OutputStream或Writer 字节流和字符流 注:1字节代表1个英文单词存储的数据大小,一个汉字占两字节 1.字节流:以byte为最小单位传送,继承自抽象类InputStream或OutputStream,用于处理二进制文件,InputStream为读取字节流的父

java输入输出流总结 转载

一.基本概念 1.1 什么是IO?     IO(Input/Output)是计算机输入/输出的接口.Java中I/O操作主要是指使用Java进行输入,输出操作.     Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.      任何Java中表示数据源的对象都会提供以数据流的方式读写它的数据的方法.Java.io是大多数面向数据流的输入/输出类的主要软件包.此外,Java也对块传输提供支持,在核心库 java.nio中采用的便是块IO.    

c++文件输入输出流fstream,对输入>>和输出<<重载

1. fstream 继承自iostream --> 要包含头文件#include<fstream> 2. 建立文件流对象 3. 打开文件夹 4. 测试是否打开成功 5. 进行读写操作 6. 关闭文件 #include<iostream> #include<fstream> using namespace std; int main(){ ifstream ifile; ofstream ofile; ifile.open("d:\\fileIn.txt

C++ 输入输出流 总结

1.ostream & operator<<(int); 重载了<<符号,用于对int类型的输出.为什么要返回ostream的引用呢? 例如: cout<< "1122"  << "2345" <<endl; 那么当输出"1122"的时候,返回了cout,也就是:  cout<<"1122"返回为 cout,然后可以继续像cout<<&

字节流之数据输入输出流

数据输入输出流:让我们对基本数据类型操作更方便

Java IO详解(三)------字节输入输出流

File 类的介绍:http://www.cnblogs.com/ysocean/p/6851878.html Java IO 流的分类介绍:http://www.cnblogs.com/ysocean/p/6854098.html 那么这篇博客我们讲的是字节输入输出流:InputStream.OutputSteam(下图红色长方形框内),红色椭圆框内是其典型实现(FileInputSteam.FileOutStream)  1.字节输出流:OutputStream public abstrac

字符流;字节流;带缓冲的输入输出流;以及用scanner读文件

概念: InputStream类是字节输入流的抽象类,是所有字节输入流的父类. OutputStream类是字节输入流的抽象类,是所有字节输出流的父类. In(可以理解为读)Out(可以理解为写) 一.字节流的读与写 FileInputStream类与FileOutStream类都是用来操作磁盘文件的. 1. FileInputStream(String name); 填String类型的路径名 FileInputStream(File file); 填入File对象 2. FileOutStr