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.什么是面向对象? 面向对象设计的实质 就是对现实世界的对象进行建模操作. 现实的生活中,随处可见的一种事物就是对象,对象是事物存在的实体,通常我们将会对对象划分为两个部分,静态部分和动态部分.比如 ...
随机推荐
- python基础之递归,匿名,内置函数
递归函数: 什么是递归函数? 函数递归调用:在调用一个函数的过程中,又直接或间接地调用了该函数本身. 递归必须要有两个明确的阶段: ①递推:一层一层递归调用下去,强调:每进入下一层问题规模减少 ②回溯 ...
- 设置Eclipse编码方式
1.windows->Preferences...打开"首选项"对话框,左侧导航树,导航到 general->Workspace,右侧Text file encodin ...
- java instanceof方法
基本用法 null instanceof Object 为false: null instanceof 任意类 为false:任意实例 instanceof 对应的类或者父类 都为true: 基本 ...
- 通过scrapy内置的ImagePipeline下载图片到本地、并提取本地保存地址
1.通过scrapy内置的ImagePipeline下载图片到本地 2.获取图片保存本地的地址 1.通过scrapy内置的ImagePipeline下载图片到本地 1)在settings.py中打开 ...
- 解决 javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
解决这个异常的重点就在于下载两个jar包: bcprov-ext-jdk15on-1.52 bcprov-jdk15on-1.52 传送门:https://stackoverflow.com/ques ...
- BZOJ 4032: [HEOI2015]最短不公共子串 后缀自动机 暴力
4032: [HEOI2015]最短不公共子串 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4032 Description 在虐各种最 ...
- sqlserver 脚本 多条记录遍历
临时表方式实现多条记录遍历 declare @oper_cart_item_id bigint; declare @oper_cart_id bigint; declare @the_last_cha ...
- Font Include Sass Mixin
前端开发whqet,csdn,王海庆,whqet,前端开发专家 前期以前给大家介绍过一个使用google font的mixin(详见<Google Fonts Sass Mixin>),今 ...
- 怎么查看和修改 MySQL 的最大连接数
通常,mysql的最大连接数默认是100, 最大可以达到16384.1.查看最大连接数:show variables like '%max_connections%';2.修改最大连接数方法一:修改配 ...
- Ubuntu下,清屏等终端常用命令
转自:http://blog.csdn.net/gaojinshan/article/details/9314435 # ctrl + l - 清屏 . cLear# ctrl + c - 终止命令. ...