import java.io.File;
import java.io.IOException; public class Demo11_1 { public static void main(String[] args) {
//创建一个文件对象
//File f = new File("d:\\123.txt"); //得到文件的路劲
//System.out.println("文件路径:"+f.getAbsolutePath());
//得到文件的大小
//System.out.println("文件大小"+f.length());
//System.out.println("可读"+f.canRead()); //创建文件和创建文件夹
//File f = new File("d:\\zy.txt");
//if(!f.exists()){
//可以创建
// try {
// f.createNewFile(); // } catch (IOException e) {
// TODO Auto-generated catch block
// e.printStackTrace();
// }
//}else{
// System.out.println("已存在");
//} //File f = new File("d:\\ff\\zy.txt");
//if(f.isDirectory()){
// System.out.println("文件夹存在");
//}else{
// //创建
// f.mkdir();
//} //列出一个文件夹下面的所有文件
//File f = new File("d:\\ff");
//if(f.isDirectory()){
// File lists[] = f.listFiles();
// for(int i=0;i<lists.length;i++){
// System.out.println("文件名:"+lists[i].getName());
// }
//} //测试在文件加下创建文件,并判断文件夹是否存在
File f = new File("d:\\zy");
if(f.exists()){
System.out.println("文件夹存在"); }else{
f.mkdir();
}
File fn = new File("d:\\zy\\zy.txt");
if(fn.exists()){
System.out.println("文件已存在");
}else{
System.out.println("文件不存在,创建文件");
try {
fn.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; /**
* 演示FileInputStream类的使用
* @author zy
*
*/
public class Demo11_2 {
public static void main(String[] args) throws IOException { File f = new File("d:\\123.txt");
FileInputStream fis=null;
try {
fis = new FileInputStream(f);
//定义一个字节数组
byte[] bytes = new byte[1024];
int n=0;
//读取结束返回-1
while((n=fis.read(bytes))!=-1){
//把字节转换成string
String s = new String(bytes,0,n);
System.out.println(s);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
//关闭文件流
fis.close(); } } }
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; /**
* 演示FileOutputStream的使用
* @author zy
*
*/
public class Demo11_3 { public static void main(String[] args) { File f = new File("d:\\test.txt");
//判断文件是否存在
if(!f.exists()){
try {
f.createNewFile();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//字节输出
FileOutputStream fos = null;
try {
fos = new FileOutputStream(f); String s = "小灰灰\r\n";
String sa = "喜洋洋";
//定义数组
//byte [] bytes=new byte[1024];
//把string转换成bytes数组 fos.write(s.getBytes());
fos.write(sa.getBytes());
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
fos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream; public class Demo12_4 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //先把图片读入到内存--》写入到某个文件
//因为是二进制文件,因此只能用字节流完成
//输入流
//File f1=new File("E:\\1.jpg");
FileInputStream fis=null;
//输出流
FileOutputStream fos=null;
try {
fis=new FileInputStream("e:\\1.jpg");
fos=new FileOutputStream("f:\\1.jpg");
byte buf[]=new byte[512];
int n=0;//记录实际读取到的字节数
//循环读取
while((n=fis.read(buf))!=-1){
//输出到指定文件
fos.write(buf);
} } catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}finally{
//关闭打开的文件流
try {
fis.close();
fos.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }
import java.io.FileReader;
import java.io.FileWriter; public class Demo12_5 { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub //文件取出字符流对象(输入流)
FileReader fr=null;
//写入到文件(输出流)
FileWriter fw=null; try {
//创建fr对象
fr=new FileReader("e:\\test.txt");
//创建输出对象
fw=new FileWriter("f:\\test.txt");
int n=0;//记录实际读取的字符数
//读入到内存
char c[]=new char[1024];
while((n=fr.read(c))!=-1){
//String s=new String(c,0,n);//避免乱码
//System.out.println(s);
fw.write(c);
}
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
fr.close();
fw.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }
public class Demo12_6 {

    /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub BufferedReader br=null;
BufferedWriter bw=null;
try {
//先创建FileReder对象
FileReader fr=new FileReader("e:\\test.txt");
br=new BufferedReader(fr); //创建FileWrite对象
FileWriter fw=new FileWriter("f:\\test.txt");
bw=new BufferedWriter(fw);
//循环读取文件
String s="";
while((s=br.readLine())!=null)
{
//System.out.println(s);
//输出到磁盘
bw.write(s+"\r\n");
}
} catch (Exception e) {
// TODO: handle exception
}finally{
try {
br.close();
bw.close();
} catch (Exception e2) {
// TODO: handle exception
}
}
} }

最近在研究IO的更多相关文章

  1. Java IO(1)基础知识——字节与字符

    正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...

  2. 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  3. 图解 Java IO : 一、File源码

    Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter   ...

  4. [转] 利用BLKTRACE分析IO性能

    在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...

  5. blktrace分析IO

    http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...

  6. RAID中条带的概念

    raid把数据分成条带,一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度.一个条带包含的扇区或块的个数,称为条带长度. raid向操作系统提供的是卷,是连续的扇 ...

  7. oracle AWR详解

    原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...

  8. VS2015编译GEOS

    下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...

  9. Java IO流关闭问题的深入研究

    转自:https://blog.csdn.net/maxwell_nc/article/details/49151005 前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记 ...

随机推荐

  1. confluence导出PDF格式文件不显示中文解决

    由于confluence导出PDF格式文件需要应用字体文件,下载字体文件在confluence管理员界面安装即可. 我这里使用从simhei.ttf楷体,可以从windowns主机里下载(c:/win ...

  2. Windows远程连接server(Linux系统)及可视化

    方法1:命令行连接后使用server上安装好的可视化编辑器IDE: Step 1: 工具准备:putty.exe:Xming-6-9-0-31-setup.exe:Xming-fonts-7-7-0- ...

  3. (五)mybatis开发dao层

    目录 SqlSession 是线程不安全的 原始 dao 开发方法 Mapper 代理方法 关于代理对象 SqlSession 是线程不安全的 SqlSession 是 线程不安全 的: 对于它,我们 ...

  4. Snoopy.class.php介绍

    Snoopy是一个开源的模拟抓取工具,找到一个不错的介绍网页 记录一下: php开源采集类Snoopy.class.php功能使用介绍与下载地址 Snoopy.class.php使用手册 还有一个介绍 ...

  5. 优化方法总结以及Adam存在的问题(SGD, Momentum, AdaDelta, Adam, AdamW,LazyAdam)

    优化方法总结以及Adam存在的问题(SGD, Momentum, AdaDelta, Adam, AdamW,LazyAdam) 2019年05月29日 01:07:50 糖葫芦君 阅读数 455更多 ...

  6. Spring与Web框架(例如Spring MVC)漫谈——关于Spring对于多个Web框架的支持

    在看Spring MVC的官方文档时,最后一章是关于Spring对于其它Web框架的支持(如JSF,Apache Struts 2.x,Tapestry 5.x),当然Spring自己的MVC框架Sp ...

  7. .net Core 图片验证码 基于SkiaSharp实现

    public class ImageCaptcha { /// <summary> /// 干扰线的颜色集合 /// </summary> private List<SK ...

  8. _stscanf_s (sscanf)正则表达式

    _stscanf_s (sscanf)正则表达式     {%[*] [width] [{h | l | I64 | L}]type  |  ' ' |  '\t' | '\n' | 非%符号}, 注 ...

  9. HDU5124lines题解-堆+贪心的一个新方法

    题目链接 https://cn.vjudge.net/problem/HDU-5124 胡扯 感觉说新方法好像有点不太好,但是翻了十几篇博客都是清一色离散化之类的... 为什么会做这道题呢?因为前几天 ...

  10. luogu4777[模板]拓展中国剩余定理题解

    题目链接 https://www.luogu.org/problemnew/show/P4777 分析 扩展\(CRT\)就是解决模数不互质的情况,说是扩展\(CRT\),其实都是扩欧... 先来考虑 ...