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. 爬虫5:beautifulsoup

      灵活方便的网页解析库,处理高效,支持多种解析器,利用它不用编写正则表达式即可方便的实现网页信息的提取     一. BeautifulSoup的几种解析库   解析器 使用方法 优势 劣势 Pyt ...

  2. pixi.js v5版本出了。

    历尽千辛万苦,pixi.js v5版本出了. 请关注群 881784250, 会尽块出个微信小游戏版. pixi.js的每个函数,每个类都有测试用例的.出的版本都是很稳定的.

  3. CentOS 7 安装方式汇总

    U盘安装 通过U盘安装 CentOS 的过程和安装Windows非常相似,首先将 CentOS 镜像文件刻录到U盘(或者光盘),设置固件(BIOS或者UEFI)从U盘启动,然后逐步设置即可. 使用 V ...

  4. webpack/gulp的z-index被改写

    webpack方法 new OptimizeCSSPlugin({ cssProcessorOptions: { safe: true } }) gulp-cssnano 方法 .pipe(cssna ...

  5. [转] etcd 搭建与使用

    [From] https://blog.csdn.net/ShouTouDeXingFu/article/details/81167302 etcd 1.下载etcd二进制文件包         ht ...

  6. JDK7 AutoCloseable

    干嘛的 直接看JDK7的流(运用了AutoCloseable)源码 public abstract class InputStream implements Closeable { //实现Close ...

  7. DIV盒子介绍

    1.盒子模型=网页布局的基石,由四部分组成: 边框(border).外边距(margin).内边距(padding).盒子中的内容(content) 2.设置顺序是顺时针:上.右.下.左. 三个值(上 ...

  8. java处理数据库的CRUD

    package com.lhy.jdbc.util; import java.sql.Connection; import java.sql.PreparedStatement; import jav ...

  9. git 学习之撤销和删除

    在实际的工作和学习中我们经常的会对文件进行修改,但是或多或少的就会发现由于某些原因修改是错误的这时候就需要对所做的修改进行撤销,更或者某些时候需要对文件进行删除.本节就会告诉大家如何操作. 撤销操作 ...

  10. 深度学习(一) BP神经网络

    怎样理解非线性变换和多层网络后的线性可分,神经网络的学习就是学习如何利用矩阵的线性变换加激活函数的非线性变换 线性可分: 一维情景:以分类为例,当要分类正数.负数.零,三类的时候,一维空间的直线可以找 ...