file的使用

  1. 文件流的使用

    • 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

  1. InputStream 和 OutputStream 可以完成所以格式文件的copy
  2. Reader 和 Writer只能完成文本文件的copy
  3. 汉字乱码问题
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流的使用的更多相关文章

  1. Java基础之IO流

    很长时间都没有更新了,最近在补充JavaSE的一些细节部分 关于IO流的一些总结 首先要介绍的是File类,File类用于对文件和目录的一些操作 1.创建文件CreateNewFile() 2.对文件 ...

  2. Java中IO流,输入输出流概述与总结

    总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...

  3. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  4. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  5. IO流总结

    IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类:  按照操作数据的类型分为两种: 字节流和字符流.  按 ...

  6. IO流

    流的概念和作用 学习JavaIO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特 ...

  7. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. 揭开Java IO流中的flush()的神秘面纱

    大家在使用Java IO流中OutputStream.PrintWriter --时,会经常用到它的flush()方法. 与在网络硬件中缓存一样,流还可以在软件中得到缓存,即直接在Java代码中缓存. ...

  9. java IO流 之 其他流

    一.内存操作流(ByteArrayInputStream.ByteArrayOutputStream) (一).   public class ByteArrayInputStream extends ...

  10. java IO流 之 字符流

    字符是我们能读懂的一些文字和符号,但在计算机中存储的却是我们看不懂的byte 字节,那这就存在关于字符编码解码的问题.所以在学习Io流的字符流前我们先了解些关于编码问题. 一.字符集与字符编码 1.什 ...

随机推荐

  1. LeetCode108.将有序数组转换为二叉搜索树

    将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树. 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1. 示例: 给定有序数组: [-10,-3,0, ...

  2. Redis Cluster(集群)的搭建

    一.Redis的下载.安装.启动(单实例) 我们统一将Redis安装在/opt目录下,执行命令如下: $ cd /opt $ wget http://download.redis.io/release ...

  3. Fantasia (点强连通分量建图 + 树形DP)

    简化一下题意,我们先看成一副强连通的图,这时候应该是最简单了,去点任意点都是其他的乘积.那再加强一点难度,改为两个强连通图连接的非强连通图呢?那应该就是找出关键的那个点,并求出两边的乘积.但是一个一个 ...

  4. Azure Messaging-ServiceBus Messaging消息队列技术系列2-编程SDK入门

    各位,上一篇基本概念和架构中,我们介绍了Window Azure ServiceBus的消息队列技术的概览.接下来,我们进入编程模式和详细功能介绍模式,一点一点把ServiceBus技术研究出来. 本 ...

  5. 即时通信系统中实现全局系统通知,并与Web后台集成【附C#开源即时通讯系统(支持广域网)——QQ高仿版IM最新源码】

    像QQ这样的即时通信软件,时不时就会从桌面的右下角弹出一个小窗口,或是显示一个广告.或是一个新闻.或是一个公告等.在这里,我们将其统称为“全局系统通知”.很多使用C#开源即时通讯系统——GGTalk的 ...

  6. nextjs 服务端渲染请求参数

    Post.getInitialProps = async function (context) { const { id } = context.query const res = await fet ...

  7. android studio 添加get,set方法快捷方式

    android studio 添加get,set方法快捷方式

  8. Android百大框架排行榜

    Android百大框架排行榜 15类Android通用流行框架 - 流风,飘然的风 - 博客园https://www.cnblogs.com/zdz8207/p/android-opensource- ...

  9. oracle函数,游标,视图使用总结

    oracle函数或者叫存储过程,在实际的开发过程中对于复杂的业务需求是非常有用的,非常有效率的也是非常好玩儿的一个技术点. 平常在开发过程中对于CRUD功能较多.一般SQL即可应付,大不了就是长一点而 ...

  10. Ubuntu 为 root 帐号开启 SSH 登录

    1. 修改 root 密码sudo passwd root 2. 以其他账户登录,通过 sudo nano 修改 /etc/ssh/sshd_config :xxx@ubuntu:~$ su - ro ...