1.什么是I/O

  a.I/O也称为:输入输出,可以理解为In,Out

  b.I/O流:读取键盘键入的字符,硬盘上的文件

  c.处理数据的类型分类:字节流、字符流

  字节流:以Stream结尾的,可以处理图片、文字、音频、视频等,读取一个字节返回一个字节。

  字符流:以Reader或Writer结尾,仅能处理纯文本数据,读取一个或多个字节,再查询指定编码表,最后返回字符。

  字节流代码实例演示:

  

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* Created by Pres_cheng on 2016/9/4.
*/
public class UsingFileStream {
public static void main(String args[]) {
File file = new File("D:\\Ideaworkspace\\UsingFileStream\\src\\hello.txt");
if (!file.exists()) {
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
FileInputStream fis = new FileInputStream(file);
byte[] bytes = new byte[1024];
String str = "";
while (fis.read(bytes) != -1) {
str += new String(bytes,"utf-8");
}
System.out.println(str);
//每次使用完流后都要关闭
fis.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} }
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; /**
* Created by Pres_cheng on 2016/9/4.
*/
public class UsingFileOutStream {
public static void main(String args[]){
//写入的数据
String str = "大家好,我是学生123456abc";
//文件的路径
File file =new File("D:\\Ideaworkspace\\UsingFileStream\\src\\hello");
if(!file.exists()){
try {
//如果不存在就创建文件
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
//实例化输出流
FileOutputStream fos = new FileOutputStream(file);
byte [] btyes = str.getBytes();
fos.write(btyes);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

  复制图片

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; /**
* Created by Pres_cheng on 2016/9/4.
*/
public class CopyFile {
public static void main(String args[]){ try {
FileInputStream fis = new FileInputStream("D:\\Ideaworkspace" +
"\\UsingFileStream\\img.jpg");
FileOutputStream fos = new FileOutputStream("D:\\Ideaworkspace" +
"\\UsingFileStream\\newImg.jpg");
byte [] bytes = new byte[1024];
while (fis.read(bytes) != -1){
fos.write(bytes);
}
fis.close();
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

  

  字符流实例演示:

  

import java.io.*;

/**
* Created by Pres_cheng on 2016/9/4.
*/
public class UsingStreamReader {
public static void main(String[] args) {
try {
//实例化字节流
FileInputStream fis = new FileInputStream("D:\\Ideaworkspace" +
"\\UsingFileReaderAndWriter\\src\\test.txt");
//将字节流转化给字符流
InputStreamReader isr = new InputStreamReader(fis, "utf-8");
FileOutputStream fos = new FileOutputStream("D:\\Ideaworkspace" +
"\\UsingFileReaderAndWriter\\src\\newTest.txt");
OutputStreamWriter osw = new OutputStreamWriter(fos,"utf-8");
char[] chars = new char[100];
int i;
// String str = "";
while ((i = isr.read(chars)) != -1){
// str += new String(chars,0,i);
osw.write(chars,0,i);
}
// System.out.println(str);
//关闭流,按照先打开后关闭后打开先关闭的原则
osw.close();
fos.close();
isr.close();
fis.close(); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}

 

java I/O的基本使用的更多相关文章

  1. Spark案例分析

    一.需求:计算网页访问量前三名 import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /* ...

  2. 故障重现(内存篇2),JAVA内存不足导致频繁回收和swap引起的性能问题

    背景起因: 记起以前的另一次也是关于内存的调优分享下   有个系统平时运行非常稳定运行(没经历过大并发考验),然而在一次活动后,人数并发一上来后,系统开始卡. 我按经验开始调优,在每个关键步骤的加入如 ...

  3. Elasticsearch之java的基本操作一

    摘要   接触ElasticSearch已经有一段了.在这期间,遇到很多问题,但在最后自己的不断探索下解决了这些问题.看到网上或多或少的都有一些介绍ElasticSearch相关知识的文档,但个人觉得 ...

  4. 论:开发者信仰之“天下IT是一家“(Java .NET篇)

    比尔盖茨公认的IT界领军人物,打造了辉煌一时的PC时代. 2008年,史蒂夫鲍尔默接替了盖茨的工作,成为微软公司的总裁. 2013年他与微软做了最后的道别. 2013年以后,我才真正看到了微软的变化. ...

  5. 故障重现, JAVA进程内存不够时突然挂掉模拟

    背景,服务器上的一个JAVA服务进程突然挂掉,查看产生了崩溃日志,如下: # Set larger code cache with -XX:ReservedCodeCacheSize= # This ...

  6. 死磕内存篇 --- JAVA进程和linux内存间的大小关系

    运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...

  7. 【小程序分享篇 一 】开发了个JAVA小程序, 用于清除内存卡或者U盘里的垃圾文件非常有用

    有一种场景, 手机内存卡空间被用光了,但又不知道哪个文件占用了太大,一个个文件夹去找又太麻烦,所以我开发了个小程序把手机所有文件(包括路径下所有层次子文件夹下的文件)进行一个排序,这样你就可以找出哪个 ...

  8. Java多线程基础学习(二)

    9. 线程安全/共享变量——同步 当多个线程用到同一个变量时,在修改值时存在同时修改的可能性,而此时该变量只能被赋值一次.这就会导致出现“线程安全”问题,这个被多个线程共用的变量称之为“共享变量”. ...

  9. Java多线程基础学习(一)

    1. 创建线程    1.1 通过构造函数:public Thread(Runnable target, String name){}  或:public Thread(Runnable target ...

  10. c#与java的区别

    经常有人问这种问题,用了些时间java之后,发现这俩玩意除了一小部分壳子长的还有能稍微凑合上,基本上没什么相似之处,可以说也就是马甲层面上的相似吧,还是比较短的马甲... 一般C#多用于业务系统的开发 ...

随机推荐

  1. 【Tools】Apache Maven 入门篇 ( 上 )

    作者:George Ma 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven 不是那么了解,所以就有了这个想法.这个入门篇分上下两篇.本文着重动手,用 mave ...

  2. bootcamp

    为了鄙社自主研发的html5studio和mist,我给Air划了32G装windows囧 第一要注意的是,必须使用bootcamp划分将要安装windows的分区,不要在windows安装过程中删除 ...

  3. Musical Theme

    poj1743:http://poj.org/problem?id=1743 题意:题意抽象出来就是给你一个序列,然后找一个长度不少于5的没有重复的等差数列. 题解:每相邻的两个数做差,然后转化成求字 ...

  4. Keil工程文件的建立、设置与目标文件的获得

    单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了.机器汇编是通过汇编软件 ...

  5. Qt 窗体的模态与非模态(setWindowFlags(Qt::WindowStaysOnTopHint);比较有用,还有Qt::WA_DeleteOnClose)

    概念 模态对话框(Modal Dialog)与非模态对话框(Modeless Dialog)的概念不是Qt所独有的,在各种不同的平台下都存在.又有叫法是称为模式对话框,无模式对话框等. 1. 模态窗体 ...

  6. ListView 滚动条的图标样式

    android:fastScrollEnabled="true" android:focusable="true" 在listview的xml文件中添加这两条记 ...

  7. TimePicker,TimePickerDialog以及自定义timepicker(一)

    场景:在activity上点击,弹出一个dialog,然后点击dialog上的一个按钮,在弹出时间.以及自定义dialog 懒,要用到一个选择时间的需求,只要求小时和分钟,弹出式,第一时间想到了tim ...

  8. 有关DOM的小总结

    一直以为DOM(文档对象模型)是JS中最简单的一部分.不可否认,它确实很简单,因为DOM的思维模式有点固定,只需要简单地记住一些固定的方法,所以DOM可以说是所有js(这里指的是客户端的js)入门的起 ...

  9. sshd_config 配置文件

    Ssh-server 服务端 sshd_concfig Port Protocol HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_hos ...

  10. SRM 440(1-250pt, 1-500pt)

    DIV1 250pt 题意:小球从一段折线斜坡上滚下来,告诉所用时间,求重力加速度. 解法:二分答案模拟即可. tag:二分,simulation // BEGIN CUT HERE /* * Aut ...