最近在研究IO
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的更多相关文章
- Java IO(1)基础知识——字节与字符
正所谓怕什么来什么,这是知名的“墨菲定律”.Java基础涵盖各个方面,敢说Java基础扎实的人不是刚毕业的学生,就是工作N年的程序员.工作N年的程序员甚至也不敢人人都说Java基础扎实,甚至精通,往往 ...
- 利用BLKTRACE分析IO性能
在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...
- 图解 Java IO : 一、File源码
Writer :BYSocket(泥沙砖瓦浆木匠) 微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter ...
- [转] 利用BLKTRACE分析IO性能
在Linux系统上,如果I/O发生性能问题,有没有办法进一步定位故障位置呢?iostat等最常用的工具肯定是指望不上的,[容易被误读的iostat]一文中解释过await表示单个I/O所需的平均时间, ...
- blktrace分析IO
http://bean-li.github.io/blktrace-to-report/ 前言 上篇博客介绍了iostat的一些输出,这篇介绍blktrace这个神器.上一节介绍iostat的时候,我 ...
- RAID中条带的概念
raid把数据分成条带,一个条带横跨所有数据磁盘,每个磁盘上存储条带的一部分,称为sagment,也称为条带深度.一个条带包含的扇区或块的个数,称为条带长度. raid向操作系统提供的是卷,是连续的扇 ...
- oracle AWR详解
原文地址:https://blog.csdn.net/elvis_lfc/article/details/52326148 啥是AWR? =============================== ...
- VS2015编译GEOS
下载链接:http://trac.osgeo.org/geos/ 1. 打开cmake,加载geos源码和定位geos的工程存放位置: 2.点击configure,会报错,首先设置CMAKE_INST ...
- Java IO流关闭问题的深入研究
转自:https://blog.csdn.net/maxwell_nc/article/details/49151005 前几天看了一篇文章(见参考文章),自己动手试了下,发现有些不一样结论,作博客记 ...
随机推荐
- Linux基础(特基本的那种)知识
(自己的随手笔记,记得有点乱请轻喷) which:查看某个命令的完整路径df -h:查看系统磁盘情况history:查看历史输入的命令 网卡配置路径:vim /etc/sysconfig/networ ...
- 【VS开发】文件共享内存2
在32位的Windows系统中,每一个进程都有权访问他自己的4GB(232=4294967296)平面地址空间,没有段,没有选择符,没有near和far指针,没有near和far函数调用,也没有内存模 ...
- MongoDB的可视化工具(Studio 3T)的安装
通过可视化工具,我们可以不用在命令行操作MongoDB了,可以直接使用类似于SQLyog的软件进行相关操作 1.下载地址(二者择其一即可),可使用迅雷来进行下载,否则下载速度极其慢 2018.4.6版 ...
- css常见双栏和三栏布局
左侧固定右侧自适应 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- poj3449(判断直线相交)
题目链接:https://vjudge.net/problem/POJ-3449 题意:给出若干几何体,判断每个几何体与其它几何体的相交情况,并依次输出. 思路: 首先要知道的是根据正方形对角线的两个 ...
- Symfony 服务配置 看这一篇就够了
对于刚接触 Symfony 的新手来说,如何配置服务是一件很困难的事情.虽然在 Symfony 的新版本的框架中加入了自动加载(autowire),基本上满足了一般的需求,但是如果你想深入了解“服务” ...
- mysql 组合两张表
select P.FirstName,P.Lastname,A.City,A.State from Person P left join Address A on P.PersonId = A.Per ...
- S02_CH14_ EMIO_OLED 实验
S02_CH14_ EMIO_OLED 实验 本章将使用EMIO模拟OLED的时序来驱动OLED,本方案对米联系列Miz702,Miz702N和Miz701N全兼容. 14.1板载OLED硬件原理 M ...
- sleep(0)、usleep(0)与sched_yield() 调度
结论: 如果你是为了耗掉一个机器周期 ,那直接asm ("nop") , 如果是为了让权,建议把 所有使用 usleep(0) 换成 sched_yield() ; 最近发现很多 ...
- Java写学生管理系统
package Homework08;/*调试了一上午,收获:学会了昨天的debug的使用吸取教训:Student stus[]=new Student[2]; for (int i=0;i<s ...