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简单使用的更多相关文章

  1. Java io简单总结

    IO 字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的 字符流在操作时使用了缓冲区,通过缓冲区再操作文件 缓冲:一段特殊的内存.如果一个程序频繁地操作一个资源(如文件或数据库),则性能会 ...

  2. Mac OS X中报:java.io.UnixFileSystem.createFileExclusively(Native Method)的简单原因

    这个博客太简单了!想到可能有其它朋友也遇到这个问题,就记录一下. 今天把一个之前在Windows上的Java项目放到Mac OS X上执行,本来认为应该非常easy的事情,结果还是报: Excepti ...

  3. JAVA IO总结及socket简单实现

    为了方便理解与阐述,先引入两张图: a.Java IO中常用的类 在整个Java.io包中最重要的就是5个类和一个接口.5个类指的是File.OutputStream.InputStream.Writ ...

  4. Java IO流简单使用

    Java IO流简单使用 也许是以前IO方面接触的比较少,我对于读和写的概念老是混淆. 趁着现在实习比较闲小结一下,我个人理解读和写都是针对程序,分别就是程序的输入和输出,或者叫读入写出. Java ...

  5. java编程IO简单回顾和学习

    java编程IO操作必不可少的,很久不玩IO,回顾一下,写了几个小程序,记录一下,方便查阅和学习. 1.给出一个整数数组,将其写入一个文件,再从文件中读出,并按整数大小逆序打印. package co ...

  6. Java IO之简单输入输出

    Java中的IO分为两个部分,以InputStream和Reader为基类的输入类,以OutputStream和Writer为基类的输出类. 当中InputStream和OutputStream以字节 ...

  7. Java IO流详解(一)——简单介绍

    文件在程序中是以流的形式来传输的.所以用Java来传输文件就得使用到Java IO流. 1.流的概念和作用 流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象<Thinkin ...

  8. java 的 IO简单理解

    首先要先理解什么是 stream ? stream代表的是任何有能力产出数据的数据源,或是任何有能力接收数据的接收源. 一.不同导向的 stream 1)以字节为单位从 stream 中读取或往 st ...

  9. Java IO之字符流和文件

    前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...

随机推荐

  1. mxonline实战2, 后台管理神器xadmin

          对应github地址:xadmin的使用   第三天:xadmin的安装以及各应用模型的后台管理注册     一. 安装xamdin     1. 源码包下载地址 https://gith ...

  2. nginx之重写

    rewrite可以写在server段.location段和if段.语法: rewrite regexp replacement [flag] flag是标记.有4种标记,它们的作用如下表. flag ...

  3. L03-Linux RHEL6.5系统中配置本地yum源

    1.将iso镜像文件上传到linux系统.注意要将文件放在合适的目录下,因为后面机器重启时还要自动挂载,所以此次挂载成功之后该文件也不要删除. 2.将iso光盘挂载到/mnt/iso目录下. (1)先 ...

  4. js根据经纬度计算两点距离

    js版-胡老师 google.maps.LatLng.prototype.distanceFrom = function(latlng) {    var lat = [this.lat(), lat ...

  5. Go语言string包详解

    strings包实现了用于操作字符的简单函数. 查找操作 判断给定字符串s中是否包含子串substr, 找到返回true, 找不到返回false func Contains(s, substr str ...

  6. 洛谷 P2014 选课(树形背包)

    洛谷 P2014 选课(树形背包) 思路 题面:洛谷 P2014 如题这种有依赖性的任务可以用一棵树表示,因为一个儿子要访问到就必须先访问到父亲.然后,本来本题所有树是森林(没有共同祖先),但是题中的 ...

  7. server端获得到client端的IP地址的格式

    使用telnet,ping或其他client连接server端时,server端获得的client端的ip地址取决于client端使用的时ipv4还是ipv6地址. 例: client IPv4地址: ...

  8. [Xamarin.Android]如何引用JAR檔案 (转帖)

    這個範例是如何在Xamarin.Android中去使用一個我們自行在開發的JAR檔案. 主要會執行的步驟如下 1. 在Xamarin建立一個Android Java Bindings Library ...

  9. DB2 close auto commit

    db2 关闭命令行CLP自动提交 --临时关闭自动提交 #db2 "update command options using C off --永久关闭自动提交 ----linux 环境下 # ...

  10. WCF系列教程之WCF服务协定

    本文参考自:http://www.cnblogs.com/wangweimutou/p/4422883.html,纯属读书笔记,加深记忆 一.服务协定简介: 1.WCF所有的服务协定层里面的服务接口, ...