一,File创建文件

File file = new File("D:" + File.separator + "yi.txt");

代码示例:

package com.hbut.io;

import java.io.File;
import java.io.IOException; public class FileDemo { public static void main(String[] args) {
File file = new File("D:" + File.separator + "yi.txt");
if (file.exists()) {
file.delete();
System.out.println("文件已存在");
} else {
try {
boolean states=false;
states = file.createNewFile();
if(states==true)
{
System.out.println("文件创建成功");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

二,OutputStream(字节流)写入文件

out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖

String info="hello";//要输入的内容

byte[] b=info.getBytes();//将字符转化为字节数组

out.write(b);

     代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream; public class OutputDemo {
public static void main(String[] args) {
File file = new File("D:" + File.separator + "yi.txt");//指定要写入的文件
OutputStream out=null;//定义字节流输出对象
try {
out= new FileOutputStream(file);//获取实际的字节流输出对象,内容覆盖
} catch (FileNotFoundException e) {
e.printStackTrace();
}
String info="hello";//要输入的内容
byte[] b=info.getBytes();//将字符转化为字节数组
try {
out.write(b);
} catch (IOException e) {
e.printStackTrace();
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

三,InputStream(字节流)读出文件

InputStream In = null;// 定义字节流输入对象

In = new FileInputStream(file);// 获取实际的字节流输入对象

byte[] b = new byte[1024];// 开辟空间,读取内容

len = In.read(b);// 读取

System.out.println(new String(b, 0, len));//输出读取的内容

代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream; public class InputStreamDemo {
public static void main(String[] args) {
File file = new File("D:" + File.separator + "yi.txt");// 指定要读取的文件
InputStream In = null;// 定义字节流输入对象
try {
// out= new FileOutputStream(file,true);//是否字节追加函数
In = new FileInputStream(file);// 获取实际的字节流输入对象
} catch (FileNotFoundException e) {
e.printStackTrace();
}
int len = 0;// 输入数组长度
byte[] b = new byte[1024];// 开辟空间,读取内容
// byte[] b=new byte[(int)file.length()];//根据文件大小开辟空间
try {
len = In.read(b);// 读取
} catch (IOException e1) {
e1.printStackTrace();
}
try {
In.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(new String(b, 0, len));
}
}

四,Writer(字符流)写入文件

Writer write = null;// 定义字符输出流

write = new FileWriter(file);

String infor = "hello,WriterDemo";//即将写入文件的信息

write.write(infor);//写入文件

代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer; public class WriterDemo {
public static void main(String[] args) {
File file = new File("D:" + File.separator + "WriterDemo.txt");// 指定要写入的文件
Writer write = null;// 定义字符输出流
try {
write = new FileWriter(file);
} catch (IOException e) {
e.printStackTrace();
}
String infor = "hello,WriterDemo";
try {
write.write(infor);
} catch (IOException e) {
e.printStackTrace();
}
try {
write.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

五,Reader(字符流)读出文件内容

Reader read = null;// 定义字符输入流

read = new FileReader(file);

char[] b=new char[1024];//设置字符的长度

int len=read.read(b);//文件内容读入到 b[]

System.out.println(new String(b)); 

    代码示例

package com.hbut.io;

import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.Reader; public class ReaderDemo {
public static void main(String[] args) {
File file = new File("D:" + File.separator + "yi.txt");// 指定要读出的文件
Reader read = null;// 定义字符输入流
try {
read = new FileReader(file);
} catch (IOException e) {
e.printStackTrace();
}
char[] b=new char[1024];//设置字符的长度
try {
int len=read.read(b);
System.out.println(new String(b));
} catch (IOException e) {
e.printStackTrace();
}
try {
read.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

java IO文件读写例子(OutputStream,InputStream,Writer,Reader)的更多相关文章

  1. Java IO--字节流与字符流OutputStream/InputStream/Writer/Reader

    流的概念 程序中的输入输出都是以流的形式保存的,流中保存的实际上全都是字节文件. 字节流与字符流 内容操作就四个类:OutputStream.InputStream.Writer.Reader 字节流 ...

  2. java io 文件读写操作

    写: import java.io.*; String filePath= "F:\\test.txt"; FileWriter fwriter = null; fwriter = ...

  3. Java IO流操作汇总: inputStream 和 outputStream【转】

    我们在进行Android java 开发的时候,经常会遇到各种IO流操作.IO流操作一般分为两类:字符流和字节流.以“Reader”结尾都是字符流,操作的都是字符型的数据:以“Stream”结尾的都是 ...

  4. 沉淀再出发:java的文件读写

    沉淀再出发:java的文件读写 一.前言 对于java的文件读写是我们必须使用的一项基本技能,因此了解其中的原理,字节流和字符流的本质有着重要的意义. 二.java中的I/O操作 2.1.文件读写的本 ...

  5. Java IO 文件与流基础

    Java IO 文件与流基础 @author ixenos 摘要:创建文件.文件过滤.流分类.流结构.常见流.文件流.字节数组流(缓冲区) 如何创建一个文件 #当我们调用File类的构造器时,仅仅是在 ...

  6. Java IO 节点流 FileInput/OutputStream

    Java IO 节点流 FileInput/OutputStream @author ixenos 节点流之 文件流 文件读写是最常见的I/O操作,通过文件流来连接磁盘文件,读写文件内容 1.文件的读 ...

  7. 一头扎进 Java IO中-------java IO文件

    Java IO: 文件 在Java应用程序中,文件是一种常用的数据源或者存储数据的媒介.所以这一小节将会对Java中文件的使用做一个简短的概述.这篇文章不会对每一个技术细节都做出解释,而是会针对文件存 ...

  8. Java IO 过滤流 BufferedInput/OutputStream

    Java IO 过滤流 BufferedInput/OutputStream @author ixenos 概念 BufferedInput/OutputStream是实现缓存的过滤流,他们分别是Fi ...

  9. spark 执行报错 java.io.EOFException: Premature EOF from inputStream

    使用spark2.4跟spark2.3 做替代公司现有的hive选项. 跑个别任务spark有以下错误 java.io.EOFException: Premature EOF from inputSt ...

随机推荐

  1. javascript设计模式1

    普通写法 function startAnimation(){ ... } function stopAnimation(){ ... } 对象类 /*Anim class*/ var Anim=fu ...

  2. 【解决】Django下使用sqlite3的相关问题

    最近在玩Django,想用它写一个很小很小的项目,Django自带数据库sqlite3,本来项目也小,我就用它了. 玩意虽小,东西却不是那么好用的. 首先,在项目中建立模型,一个例子是这样的: cla ...

  3. HW3.8

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  4. Sublime Text3使用及常用插件

    1.安装packages组件: 参考一: https://sublime.wbond.net/installation 参考二: http://blog.csdn.net/superskk6/arti ...

  5. Http协议简单解析及web请求过程

    HTTP协议: HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统. 基于HTTP协议的客户端/服务器请求响应机制的信息交换过程包含下面几个步骤: 1)    ...

  6. HTML5 中的一些新特性

    HTML5是HTML最新的修订版本,包含了新的标签元素,属性和行为,同时包含了一系列可以被用来让 Web 站点和应用更加多样化,功能更强大的技术.HTML5实现了不依赖flash插件播放视频,而且引入 ...

  7. C#Winform窗口特效源码(1)

    本文基于.Net开发,使用C#作为开发语言,分别包含以下效果: 移动无边框窗口.窗口移动限制(限制在屏幕内).桌面贴边自动隐藏(仿QQ隐藏窗口) 1.移动无边框窗口 采用了消息的方式,可以实现通过窗口 ...

  8. Shell脚本编程的常识

    (这些往往是经常用到,但是各种网络上的材料都语焉不详的东西,个人认为比较有用) 七种文件类型 d            目录                                       ...

  9. 获取datagrid中编辑列combobox的value值与text值

    var ed = $('#dg').datagrid('getEditor', {index:editIndex,field:'productid'}); var productname = $(ed ...

  10. QT事件

    qtevents多线程工作object存储 Another Look at Events(再谈Events) 最近在学习Qt事件处理的时候发现一篇很不错的文章,是2004年季刊的一篇文章,网上有这篇文 ...