java基础讲解14-----IO
package com.io;
import java.io.File;
import java.io.IOException;
public class IoClass {
/**
* 1.什么是流?
* 流是一组有序的数据序列,根据操作类型可以分为 输入流/输出流两种
* 流提供了一条通道程序,可以使用这条通道把源种的字节序列送到目的地
*
* java由数据流处理输入/输出模式,程序从指向源的输入流种读取源种数据。源可以是文件,网络,压缩包等
*
* 输出流 指的是数据要到达的目的地,程序通过 向 输出流种写入数据,把数据信息传递到目的地。 输出流的目的 文件,网络,压缩包
*
*
* 2.输入流 InputStream 字节输入流的抽象类,是所有的字节输入流的父类
*
* 3.输出流 OutStream 字节输入流的抽象类
*
* 4.File类
* File类是唯一代表磁盘文件本身的对象,通过File类里面的方法,实现创建,删除,重命名等操作。
*
*
*
*
*/
public static void main(String[] args) {
//文件的删除
File file=new File("gg.txt"); //默认是在项目的根目录下面
if(file.exists())
{
file.delete();
System.out.println("如果有了文件,就删除");
}else
{
try {
file.createNewFile();
System.out.println("文件已经创建");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2.文件的读取
package com.io;
import java.io.File;
/**
* 文件的读取
* @author chb
*
*/
public class FileTest {
public static void main(String[] args) {
File file=new File("gg.txt");
if(file.exists())
{
String name=file.getName();
System.out.println("文件的文字: "+name);
boolean hidden=file.isHidden();
System.out.println("是否是可以读文件:"+hidden);
}else
{
System.out.println("没有该文件");
}
}
}
3. //写入数据 //读取数据
package com.io;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class FileOutput {
public static void main(String[] args) {
/**
* FileOutputStream为什么使用output输出流 来写入?
*
* 因为输出流指向的是数据要到达的目的地,程序通过向输出流中写 入数据 才可以传递到目的地。
*/
//写入数据
File file=new File("gg.txt"); //创建文件对象
//创建输出流对象
try {
FileOutputStream out=new FileOutputStream(file);
//创建数组
byte bu[]="我爱你,爱着你,就像老鼠爱大米".getBytes();
out.write(bu); //将数组中的信息写入到文件中
out.close(); //关闭流
} catch (Exception e) {
System.out.println("失败");
e.printStackTrace();
}
/****************************************************************/
//读取数据
try {
//创建输入流对象
FileInputStream input=new FileInputStream(file);
byte b[]=new byte[1024];
int len=input.read(b);
//将文件中的信息输出
System.out.println("文件的信息是:"+ new String(b,0,len));
input.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
4.FileReader / FileWriter
/**
* 1.为什么使用FileReader FileWrite
*
* 使用FileOutputStream类向文件中写入数据,使用FileInputStream从文件中读取内容,缺点就是,这两个类,
* 只提供对字节或者字节数组的读取方法,有时候会出现乱码
*
* 所以使用FileReader/FileWrite 字符流
*
*
*
*
*/
package com.io;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class Student {
/**
* 创建带缓存的io
*
*/
public static void main(String[] args) {
//**********************写入*******************************
String s[]={"你好","我不好","我真的不好"};
File file=new File("gg2.txt");
try {
FileWriter fw=new FileWriter(file);
//创建BufferedWrier对象
BufferedWriter bw=new BufferedWriter(fw);
for(int i=0;i<s.length;i++)
{
bw.write(s[i]);//把内容添加到 BufferedWriter
bw.newLine(); //将数组中的单个元素一单行的形式写入文件
}
bw.close();fw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//**********************读取*******************************
try {
FileReader fr=new FileReader("gg2.txt");
//创建BufferedReader
BufferedReader br=new BufferedReader(fr);
String str=null;
int i=0;
//如果文件中的文本行数不为null,则开始循环
while((str=br.readLine())!=null)
{
i++;//将变量加加
System.out.println("第一行:"+i+" 行"+str);
}
br.close();fr.close();
} catch ( Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
java基础讲解14-----IO的更多相关文章
- Java基础系列8——IO流超详细总结
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 在初学Java时,I ...
- 夯实Java基础系列14:深入理解Java枚举类
目录 初探枚举类 枚举类-语法 枚举类的具体使用 使用枚举类的注意事项 枚举类的实现原理 枚举类实战 实战一无参 实战二有一参 实战三有两参 枚举类总结 枚举 API 总结 参考文章 微信公众号 Ja ...
- Java基础教程:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- 图学java基础篇之IO
java io体系 如图可以看出,java的io按照包来划分的话可以分为三大块:io.nio.aio,但是从使用角度来看,这三块其实揉杂在一起的,下边我们先来概述下这三块: io:主要包含字符流和字节 ...
- Java基础之详谈IO流
Java基础知识.IO流详细讲解.你所要的IO这里都有
- JAVA基础知识之IO——对象序列化
对象序列化 Java对象序列化(Serialize)是指将Java对象写入IO流,反序列化(Deserilize)则是从IO流中恢复该Java对象. 对象序列化将程序运行时内存中的对象以字节码的方式保 ...
- JAVA基础知识之IO——Java IO体系及常用类
Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...
- JAVA基础知识之IO——IO流(Stream)的概念
Java IO 流 Java将不同的设备或载体(键盘.文件.网络.管道等)的输入输出数据统称为"流"(Stream),即JAVA的IO都是基于流的. JAVA传统的所有流类型类都包 ...
- java基础讲解08-----类和对象
1.什么是面向对象? 面向对象设计的实质 就是对现实世界的对象进行建模操作. 现实的生活中,随处可见的一种事物就是对象,对象是事物存在的实体,通常我们将会对对象划分为两个部分,静态部分和动态部分.比如 ...
随机推荐
- [原创]MyEclipse2014全手动实现反向工程---解决手动整合ssh时发生的、在hibernate反向工程的时候找不到项目名的问题
1.在MyEclipse2014中新建两个Web Project项目,名字分别为:Hibernate_manual和Hibernate_auto. 2.单击选中新建的Web项目Hibernate_au ...
- awk算术运算一例:统计hdfs上某段时间内的文件大小
计算hdfs指定目录中所有文件名中包含2011-04-24的文件大小,并换算成GB: $HADOOP_HOME/bin/hadoop fs -du /user/hdfs/s3/ifocus/*201 ...
- GCC编绎详解
http://www.cnblogs.com/lisuyun/p/4169395.html http://blog.csdn.net/kai_gai/article/details/45689247 ...
- 基于TCP通信的客户端断线重连
转载:http://www.cnblogs.com/networkcomms/p/4304362.html 源码下载 在CS程序中,断线重连应该是一个常见的功能. 此处的断线重连主要指的是服务器端因为 ...
- errno错误码及含义(中文)
/usr/include/asm/errno.h #define EPERM 1 /* Operation not permitted */操作不允许 #define ENOENT 2 /* No s ...
- JS跳转页面的几种方法
JS的几种跳转方式: 1. window.open(”url“) 2.用自定义函数 <script> function openWin(tag,obj) { obj.target=&quo ...
- [Java]利用javax.swing.Timer类在窗口上实现动画效果
javax.swing.Timer类在创建时需要指定时间间隔和定时器到时间需要执行的动作,即ActionListener. Timer timer = new Timer(100, taskPerfo ...
- delphi VCL研究之消息分发机制-delphi高手突破读书笔记
1.VCL 概貌 先看一下VCL类图的主要分支,如图4.1所示.在图中可以看到,TObject是VCL的祖先类,这也是Object Pascal语言所规定的.但实际上,TObject以及TObject ...
- [Functional Programming Monad] Combine Stateful Computations Using Composition
We explore a means to represent the combination of our stateful computations using familiar composit ...
- java线程总结(1/5)
前言 闲来无事正值面试,看面试中有线程之问题,特此总结一番. 正文 一.线程和进程的区别:1.每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销.2.线程可以看成时轻量级的进程 ...