java io简单使用
public class CreateFile {
public static void main(String[] args) {
/*
* 文件夹的创建和文件的生成
*/
File f1 = new File("E:\\study");
if (f1.exists()) {
System.out.println("该文件夹已经存在");
}else{
f1.mkdir();//创建文件夹(目录)创建单层目录
//f1.mkdirs();创建多层目录文件夹("e:/study/myfile")
}
File f2 = new File("e:\\study\\file.txt");
try {
f2.createNewFile();//创建指定路径下的文件 .txt
} catch (IOException e) {
e.printStackTrace();
}
/*
* 用FileOutputStream输出流 通过字节数组 对文件添加内容
*/
try {
//创建一个文件输出流对象,对文件里面写内容
OutputStream fops = new FileOutputStream("e:\\study\\file.txt");
String stu = "我是美女!!!\r\n我的名字是娜娜";//\r\n实现输出换行
byte[] b= stu.getBytes();//得到字符串的字节数组
try {
fops.write(b, 0, b.length);//把字节数组写入文件
} catch (IOException e) {
e.printStackTrace();
}
try {
fops.close();//关闭文件输出流
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
/*
* FileWrite 输出流 通过字符 对文件添加内容
*/
try {
//true 不会覆盖前面写的内容
FileWriter fw = new FileWriter("e:\\study\\file.txt",true);
String str = "TheStar";
fw.write(str);
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public class FileClass {
public static void main(String[] args) {
//根据路径目录实例化一个文件流对象
File file = new File("E:\\");
if (file.isFile()) {//是否为文件
System.out.println("是一个文件");
}else {
File[] files = file.listFiles();//文件数组
List fileList = new ArrayList();
for (int i = 0; i < files.length; i++) {
//列出目录
if(files[i].isDirectory()){
System.out.println("["+files[i].getPath()+"]");//是目录就输出路径名
}else {
fileList.add(files[i]) ;//文件就存在集合中
}
}
//列出文件
for (int i = 0; i < fileList.size(); i++) {
System.out.println(fileList.get(i));
}
}
}
}
package com.direct.io; import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable; public class WRObject implements Serializable{
//对象系列化必须实现Serializeble接口的类
// 如果用transient声明一个实例变量,用transient关键字标记的成员变量不参与序列化过程。
private String name;
private int age;
public WRObject(String name,int age){
this.name = name;
this.age = age;
}
public void display(){
System.out.println("name:"+name);
System.out.println("age:"+age);
} public static void main(String[] args) {
String path = "e:\\study\\file.txt";//路径
try {
ObjectOutputStream oout = new ObjectOutputStream(new FileOutputStream(path));
WRObject stu = new WRObject("Star", 18);
oout.writeObject(stu);//把对象输出流,序列化存入文件
oout.close(); } catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} try {
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(path)); WRObject object = (WRObject)ois.readObject();//反序列化为一个对象
object.display();
ois.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} } }
package com.direct.io; import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class DataIO {
/*
* 对象的成员数据假设均为基本数据类型,
* 只对对象的成员数据进行输入和输出操作,而不是整个对象的信息
* 此时,可使用DataInputStream 和 DataOutputStream
* 读取二进制文件
*/
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public DataIO(String name, int age) {
super();
this.name = name;
this.age = age;
} public static void main(String[] args) {
DataIO[] data = {new DataIO("小白", 18) , new DataIO("小黑", 19) , new DataIO("小黄", 21)}; String path = "e:\\study\\file.txt";//路径
try {
/*
* DataOutputStream输出流
*/
DataOutputStream dous = new DataOutputStream(new FileOutputStream(path));
for (DataIO dataIO : data) {
try {
//写入UTF字符串
dous.writeUTF(dataIO.getName());
//写入int数据
dous.writeInt(dataIO.getAge()); } catch (IOException e) {
e.printStackTrace();
}
}
try {
dous.flush();//写入所有数据至目标文件
} catch (IOException e) {
e.printStackTrace();
}
try {
dous.close();
} catch (IOException e) {
e.printStackTrace();
} /*
* DataInputStream输入流,
*/
DataInputStream dis = new DataInputStream(new FileInputStream(path));
for (int i = 0; i < data.length; i++) {
String name;
try {
name = dis.readUTF();//读UTF字符串
int age;
try {
age = dis.readInt();//读int数据
data[i] = new DataIO(name, age);//重复成对象存入对象数组 } catch (IOException e) {
e.printStackTrace();
} } catch (IOException e) {
e.printStackTrace();
} } System.out.println("输出结果:");
for (DataIO dataIO : data) {
System.out.println(dataIO.getName()+" "+dataIO.getAge());
} try {
dis.close();
} catch (IOException e) {
e.printStackTrace();
} } catch (FileNotFoundException e) {
e.printStackTrace();
} } }
package com.direct.io; import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException; public class ReadFile { public static void main(String[] args) {
/*
* FileInputStream 输入流 字节 读文件
*/
String path = "e:\\study\\file.txt";//路径
File file = new File(path); if (!file.exists() || file.isDirectory()) {
System.out.println("文件不存在或是目录");
} try {
FileInputStream fip = new FileInputStream(file);//path和file同样
byte[] b = new byte[1024];
int n=0;
while((n=fip.read(b))!=-1){
//System.out.println(n);
System.out.println(new String(b,0,n));
}
fip.close();
/*StringBuffer sb= new StringBuffer();
while((fip.read(b)) != -1) {
sb.append(new String(b));
b = new byte[10];
}
fip.close();
System.out.println(sb.toString());*/
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} /*
* FileReader输入流 字符 读文件
*/
String record = null;//内容
int count = 0;//行
try {
FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);//根据fr对象创建输入流缓冲区对象br
while( (record=br.readLine()) != null){
count++;
System.out.println("第"+count+"行:"+record);
}
br.close();
fr.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} } }
package work.io; import java.io.File;
import java.io.IOException; public class ListFile { public static void main(String[] args) { File file = new File("e:/io");
try {
new ListFile(). listFile(file);
} catch (IOException e) {
e.printStackTrace();
}
}
// 把e盘的文件夹拷贝到d盘
public void listFile(File file) throws IOException{
String path1 ="d:/copy";//目录
String name= file.getPath().substring(2).replace('\\', '/'); // /io/name/file2.txt
path1+=name;
System.out.println(path1); // d:/copy/io/name/file2.txt
File file2 = new File(path1);
if (file.isDirectory()) {
//System.out.println("---------->"+path1);
file2.mkdirs();
File[] arrFiles = null;
arrFiles= file.listFiles();
for (int i = 0; i < arrFiles.length; i++) {
listFile(arrFiles[i]);
}
}
if (file.isFile()) {
System.out.println(file.getPath());
file2.createNewFile();
} } }
package work.io; import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException; public class Work23 {
public static void main(String[] args) {
try {
File file = new File("e:/姓名/file2.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
BufferedWriter bw= new BufferedWriter(fw);
String line1 = "2017年09月06日,今天我学习了文件流操作";
String line2 = "我已经学会用FileWriter和BufferedWriter学入文件了"; bw.write(line1);
bw.newLine();
bw.write(line2); bw.close();
fw.close(); FileReader fr = new FileReader(file);
BufferedReader br = new BufferedReader(fr);
String record = "";
System.out.println("文件中读取到的内容如下:");
while ( (record=br.readLine())!=null) {
System.out.println(record);
} } catch (IOException e) {
e.printStackTrace();
} }
}
java io简单使用的更多相关文章
- Java io简单总结
IO 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的 字符流在操作时使用了缓冲区,通过缓冲区再操作文件 缓冲:一段特殊的内存.如果一个程序频繁地操作一个资源(如文件或数据库),则性能会 ...
- Mac OS X中报:java.io.UnixFileSystem.createFileExclusively(Native Method)的简单原因
这个博客太简单了!想到可能有其它朋友也遇到这个问题,就记录一下. 今天把一个之前在Windows上的Java项目放到Mac OS X上执行,本来认为应该非常easy的事情,结果还是报: Excepti ...
- JAVA IO总结及socket简单实现
为了方便理解与阐述,先引入两张图: a.Java IO中常用的类 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writ ...
- Java IO流简单使用
Java IO流简单使用 也许是以前IO方面接触的比较少,我对于读和写的概念老是混淆. 趁着现在实习比较闲小结一下,我个人理解读和写都是针对程序,分别就是程序的输入和输出,或者叫读入写出. Java ...
- java编程IO简单回顾和学习
java编程IO操作必不可少的,很久不玩IO,回顾一下,写了几个小程序,记录一下,方便查阅和学习. 1.给出一个整数数组,将其写入一个文件,再从文件中读出,并按整数大小逆序打印. package co ...
- Java IO之简单输入输出
Java中的IO分为两个部分,以InputStream和Reader为基类的输入类,以OutputStream和Writer为基类的输出类. 当中InputStream和OutputStream以字节 ...
- Java IO流详解(一)——简单介绍
文件在程序中是以流的形式来传输的.所以用Java来传输文件就得使用到Java IO流. 1.流的概念和作用 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象<Thinkin ...
- java 的 IO简单理解
首先要先理解什么是 stream ? stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源. 一.不同导向的 stream 1)以字节为单位从 stream 中读取或往 st ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
随机推荐
- JSP里面九个内置对象
JSP内置对象(9个常用的内置对象) 1.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求, 然后做出响应.它是HttpServletRequest类的实例 ...
- Eureka客户端注册过程源码解析
微服务中注册中心是其重要的组成部分,那么客户端是如何注册到注册中心的呢,下面我们进入源码查看. 客户端的注册标志是@EnableDiscoveryClient,我们点进入注解查看 注解介绍这是开启Di ...
- elment 中 el-table 进行校验
脑洞大开:什么是展示数据最好的方式呢,表格,写得又快,又清晰,又明显,那么就积累一些工作中表格经常使用到的东西. 第一步:效果图: 第二步:举个例子: <template> <div ...
- ubuntu 14.04网卡配置以及关闭防火墙
一.Ubuntu网卡配置如下: 在文件/etc/network/interfaces中进行以下配置 auto lo iface lo inet lookback auto eth0 iface eth ...
- Python turtle库学习笔记
1.简介 Python的turtle库的易操作,对初学者十分友好.对于初学者来说,刚学编程没多久可以写出许多有趣的可视化东西,这是对学习编程极大的鼓舞,可以树立对编程学习的信心.当然turtle本身也 ...
- dwz+ssh Http status: 200 OK
问题描述,用超链接跳转页面的时候报这个错,原因是超链接的target没有设置对, 跳转页面应该用 target="navTab", 我原先用 target="navTab ...
- dubbo和zookeeper的关系
转载前言:网络上很多教程没有描述zookeeper和dubbo到底是什么关系.分别扮演了什么角色等信息,都是说一些似是而非的话,这里终于找到一篇文章,比较生动地描述了注册中心和微服务框架之间的关系,以 ...
- python描述符学习
目录 一.对象属性的访问控制 二.描述符基本理解 三.基本使用 四.使用描述符完成property.classmethod.staticmethod自定义实现 1.property的自定义实现 2.c ...
- Java基本数据类型-包装类
为什么会有基本数据类型包装类? 将基本数据类型封装成为对象,这样可以在对象中定义更多的方法来操作该数据 包装类常用操作就是用于基本数据类型与字符串之间的转换 基本数据类型对应的包装类 byte(Byt ...
- [中英对照]vmlinuz Definition | vmlinuz的定义
vmlinuz Definition | vmlinuz的定义 vmlinuz is the name of the Linux kernel executable.vmlinuz是Linux内核可执 ...