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.什么是面向对象? 面向对象设计的实质 就是对现实世界的对象进行建模操作. 现实的生活中,随处可见的一种事物就是对象,对象是事物存在的实体,通常我们将会对对象划分为两个部分,静态部分和动态部分.比如 ...
随机推荐
- 【最短路】【dijkstra】【二进制拆分】hdu6166 Senior Pan
题意:给你一张带权有向图,问你某个点集中,两两结点之间的最短路的最小值是多少. 其实就是dijkstra,只不过往堆里塞边的时候,要注意塞进去它是从集合中的哪个起始点过来的,然后在更新某个点的答案的时 ...
- python3-开发进阶补充Django中的文件的上传
PS:这段时间有点不在状态,刚刚找回那个状态,那么我们继续曾经的梦想 今天我们来补充一下文件的上传的几种方式: 首先我们先补充的一个知识点: 一.请求头ContentType: ContentType ...
- Problem Z: 百鸡问题
#include <stdio.h> int main() { int i, j, k; ; i <= ; i++ ) ; j <= ; j++ ) ; k <= ; k ...
- [转]JSP中常见的Tomcat报错错误解析(二)
jsp常见错误代码文章分类:Java编程 jsp常见错误代码你用的是weblogic还是tomcat服务器.?出现404和500错误是初学jsp的朋友经常遇到的问题. IIS状态代码的含义 概要 当用 ...
- http://www.pass.org
http://www.pass.org/Learning/Recordings/Listing.aspx?category=conferences
- Inno Setup入门(二十)——Inno Setup类参考(6)
http://379910987.blog.163.com/blog/static/3352379720112515819485/ 存储框 存储框也是典型的窗口可视化组件,同编辑框类似,可以输入.显示 ...
- FIS常用功能之MD5版本
静态资源后缀加上md5参数,有效解决缓存更新问题 fis release --optimize --md5 使用前后对比:
- UITabBarController 详解
// UITabBarController 标签视图控制 // 主要管理没有层级关系的视图控制器 // 1. ViewControllers 所有被管理的视图控制器, 都在这个数组中 // 2. se ...
- InternalError: (pymysql.err.InternalError) (1205, u'Lock wait timeout exceeded; try restarting transaction')
在mysql innodb中使用事务,如果插入或者更新出错,一定要主动显式地执行rollback,否则可能产生不必要的锁而锁住其他的操作 我们在使用数据库的时候,可以使用contextlib,这样异常 ...
- .NET Oracle Developer的福音——ODP.NET Managed正式推出
.NET Oracle Developer的福音--ODP.NET Managed正式推出 在.NET平台下开发Oracle应用的小伙伴们肯定都知道一方面做Oracle开发和实施相比SqlServ ...