Io流的使用
file的使用
文件流的使用
- FileInpunStream FileOutOputStream ----------字符流
- FileReader Filewriter --------字节流
如下代码读取文件的内容并将其输入显示器上
package com.nanjing.file; import java.io.FileReader; public class TestFileReader { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
FileReader fr=null;
try {
fr=new FileReader("d:/2.txt");
int cnt=0;
int ch;
while(-1!=(ch=fr.read())){
System.out.print((char)ch);
++cnt;
}
System.out.printf("总共从1.txt中读取了%d个字节",cnt);
} catch (Exception e) {
throw new RuntimeException(e);
}
} }package com.nanjing.file;
import java.io.FileInputStream;
import java.io.InputStream;
public class TestFileInputStreamr { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
InputStream fr=null;
try {
fr=new FileInputStream("d:/2.txt");
int cnt=0;
int ch;
while(-1!=(ch=fr.read())){
System.out.print((char)ch);
++cnt;
}
System.out.printf("总共从1.txt中读取了%d个字节",cnt);
} catch (Exception e) {
throw new RuntimeException(e);
}
} }
- InputStream 和 OutputStream
1. FileInpunStream是InputStream的子类,因为InputStream是一个抽象类。对是一个抽象类,我们要使用他的子类来new 对象,当然我们也可以这样
Reader fr=null;父类的引用指向子类的对象。
2. FileInpuntStream将文件按字节读取,所以即使有汉字会乱码。
3. public FileInpunStream(String FileName)一个常用函数,就是连接文件的函数。
4. FileOutputStream同理
5. / \\ 在字符串里面使用
- Reader 和 Writer
1.FileReader是Reader的子类与上面基本相似
2.FileReader是将文件按字符为单位所以不会乱码。
3.public FileReader(String FileName)
4.Writer类似
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
上面二者的区别???
InputStream 和 OutputStream VS Reader 和 Writer
- InputStream 和 OutputStream 可以完成所以格式文件的copy
- Reader 和 Writer只能完成文本文件的copy
- 汉字乱码问题
import java.io.*; public class TestFileInputStreamOutputStreamCopy
{
public static void main(String[] args)
{
FileInputStream fi = null;
FileOutputStream fo = null; try
{
fi = new FileInputStream("E:\\综艺\\歌曲\\1.mp3");
fo = new FileOutputStream("d:/share/Output.txt"); //可以用QQ音乐打开,成功了
int ch; while (-1 != (ch=fi.read()))
{
fo.write(ch);
}
}
catch (FileNotFoundException e)
{
System.out.println("文件没有找到!");
System.exit(-1);
}
catch(IOException e)
{
System.out.println("文件读写错误!");
System.exit(-1);
}
finally
{
try
{
if (null != fi)
{
fi.close();
fi = null;
}
if (null != fo)
{
fo.close();
fo = null;
}
}
catch (Exception e)
{
e.printStackTrace();
System.exit(-1);
}
} System.out.println("文件复制成功!");
}
}
import java.io.*; public class TestFileReaderWriterCopy
{
public static void main(String[] args)
{
FileReader fi = null;
FileWriter fo = null;
try
{
fi = new FileReader("E:\\综艺\\歌曲\\1.mp3");
fo = new FileWriter("d:/share/Output.txt"); //Output.txt用QQ音乐打开失败! 本程序证明了FileWriter 和 FileReader 无法完成视频文件的赋值,实际上FileWriter 和 FileReader 只能完成文本文件的复制
int ch;
while (-1 != (ch=fi.read()))
{
fo.write(ch);
}
}
catch (FileNotFoundException e)
{
System.out.println("文件没有找到!");
System.exit(-1);
}
catch(IOException e)
{
System.out.println("文件读写错误!");
System.exit(-1);
}
finally
{
try
{
if (null != fi)
{
fi.close();
fi = null;
}
if (null != fo)
{
fo.close();
fo = null;
}
}
catch (Exception e)
{
e.printStackTrace();
System.exit(-1);
}
}
System.out.println("文件复制成功!");
}
}
Io流的使用的更多相关文章
- Java基础之IO流
很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...
- Java中IO流,输入输出流概述与总结
总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- IO流总结
IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类: 按照操作数据的类型分为两种: 字节流和字符流. 按 ...
- IO流
流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- 揭开Java IO流中的flush()的神秘面纱
大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...
- java IO流 之 其他流
一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一). public class ByteArrayInputStream extends ...
- java IO流 之 字符流
字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...
随机推荐
- node.js初识12
1.express框架属于后端的框架 cnpm install --save express --save的作用是将下载的保存在package.json中 你可以点击http://www.expres ...
- JavaScript 深入了解对象中的属性
本篇主要介绍JS中对象的属性,包括:属性的分类.访问方式.检测属性.遍历属性以及属性特性等内容. 目录 1. 介绍:描述属性的命名方式.查找路径以及分类 2. 属性的访问方式:介绍'.'访问方式.'[ ...
- c#之如何转换文本文件编码格式为utf-8
如代码: string content = File.ReadAllText(path, Encoding.Default); File.WriteAllText(path, content, Enc ...
- Unity shader学习之菲涅耳反射
菲涅尔反射(Fresnel reflection),指光线照射物体表面时,一部分发生反射,一部分进入物体内部发生折射或散射,被反射的光和折射光之间存在一定的比率. 2个公式: 1. Schlick 菲 ...
- C语言阐述进程和线程的区别
[cpp]view plain copy /* 每一个程序相当于一个进程,而一个进程之中可以有多个线程 */ #define _CRT_SECURE_NO_WARNINGS #include<s ...
- clientWidth,offsetWidth,scrollWidth区别
<html> <head> <title>clientWidth,offsetWidth,scrollWidth区别</title> </head ...
- Python - 3. Input and Output
from:http://interactivepython.org/courselib/static/pythonds/Introduction/InputandOutput.html Input a ...
- c++学习笔记(七)- lambda表达式 迭代器 算法
关于lambda表达式: 刷题的时候遇到一句代码不懂: char ch = *it;auto it2 = find_if(it, b.end(), [ch](char x){ return x != ...
- ftp下载文件失败get: Access failed: 550 Failed to open file. (t1.log)
get: Access failed: 550 Failed to open file. (t1.log) 原因是被SELinux安全访问控制策略限制了. 科普: SELinux(Security-E ...
- Linux基础命令---vim文本编辑
vim vim是unix系统最通用的文本编辑器,它的功能可以说是非常强大了,它是vi的升级版.vim有三种工作模式:编辑模式.命令模式.末行模式,默认打开的时候进入命令模式. 此命令的适用范围:Red ...