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.什 ...
随机推荐
- java的输入输出
import java.util.Scanner; public class TestScanner { public static void main(String[] args) { Scanne ...
- hadoop管理
hadoop管理工具: 一,dfsadmin工具 dfsadmin 工具用途比较广,既可以查找HDFS状态信息,又可以在HDFS上执行管理操作,以hdfs dfsadmin形式调用,且需要超级用户权限 ...
- LeetCode21.合并两个有序链表
将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...
- C#会对于未赋值的变量/成员变量,给予一个初始值吗?
如果我有程序如下: C# code ? 1 2 3 4 5 6 7 public class My { public bool b; public ...
- 如何简单地理解Python中的if __name__ == '__main__'(https://blog.csdn.net/yjk13703623757/article/details/77918633)
1. 摘要 通俗的理解__name__ == '__main__':假如你叫小明.py,在朋友眼中,你是小明(__name__ == '小明'):在你自己眼中,你是你自己(__name__ == '_ ...
- c# 在mongo中查询经纬度范围
#region 索引 //IndexKeysDocument doc = new IndexKeysDocument();//新建索引 //2d 平面坐标索引,适用于基于平面的坐标计算.也支持球面距离 ...
- VC2012+QT新建一个控制台程序
1.新建一个项目,选择控制台程序 2.下一步.project setting 可以包含模块,可以再这选择也可以之后选择 3.配置工程属性 1)需要源码的话添加VC++目录里的源目录 2)包含头文件 ...
- SnmpTools配置
上网搜索了很多文档,但是snmptools一直没有配置好,原因就是64机器,网上的说法大多直接复制过来的,或者就没有考虑64位机器.经过仔细搜索和测试,一下是详细的配置过程: Index 安装 如果是 ...
- BufferReader BufferWriter
Copying information from one file to another with 'BufferReader BufferWriter' public class Demo5 { p ...
- 在HUE中将文本格式的数据导入hive数仓中
今天有一个需求需要将一份文档形式的hft与fdd的城市关系关系的数据导入到hive数仓中,之前没有在hue中进行这项操作(上家都是通过xshell登录堡垒机直接连服务器进行操作的),特此记录一下. - ...