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. ASP.NET MVC 发布后 IE 访问出现布局错乱问题

    ASP.NET MVC 网页debug启动跑一切正常,[Chrome],[FireFox],[Edge],[IE11] 发布后,使用机器名访问,[IE11]出现布局不正常的问题, 在head里:加↓可 ...

  2. mxonline实战13,授课讲师列表页,详情页,index页面全局导航

    对应github地址:第13天   把teacher-list.html和teacher-detail.html拷贝过来   一. 授课讲师列表页   1. 修改html文件 把org-list.ht ...

  3. Lambda入门

    Lambda 来源于微积分数学中的 λ,其涵义是声明为了表达一个函数具体需要什么. Table of contents Introduction 使用 Introduction 什么是Lambda? ...

  4. 利用python 学习数据分析 (学习四)

    内容学习自: Python for Data Analysis, 2nd Edition         就是这本 纯英文学的很累,对不对取决于百度翻译了 前情提要: 各种方法贴: https://w ...

  5. 基于python复制蓝鲸作业平台

    前言 去年看武sir代码发布的视频无意中听到了蓝鲸平台但是一直没深究,前一段时间公司要搞一个代码发布平台,但是需求变化很多一直找不到一个很好的参考 模板,直到试用了一下蓝鲸作业平台发现“一切皆作业”的 ...

  6. LeetCode 795. Number of Subarrays with Bounded Maximum

    问题链接 LeetCode 795 题目解析 给定一个数组A,左右范围L.R.求子数组的数量,要求:子数组最大值在L.R之间. 解题思路 子数组必须连续,利用最大值R对数组进行分段,设定变量 left ...

  7. CUDA安装

    1.CUDA是什么? CUDA(Compute Unified Device Architecture),显卡厂商NVidia推出的运算平台. 随着显卡的发展,GPU越来越强大,而且GPU为显示图像做 ...

  8. 【性能测试】:JVM内存监控策略的方法,以及监控结果说明

    JVM内存监控主要在稳定性压测期间,监控应用服务器内存泄露等问题: [JVM远程监控设置] 1.打开WAS控制台:https://ip:port/ibm/console/login.do 2.进入路径 ...

  9. 获得自己电脑的SSH公匙

    关于什么是SSH请点击此"www.Baidu.com”网站了解 我这里只说怎么获取属于自己电脑的SSH公匙 本人是Win10电脑 所以相对来说简单一点  点击win ->选择设置-&g ...

  10. wusir FTP与HTTP文件传输之TCP Packet解析

    向服务器传输文件(上传或下载)时,FTP与HTTP是两种最常用的应用层协议,这两个协议都是基于TCP协议之上.如果深入到数据包内(Packet)进行查看时,FTP与HTTP进行文件传输时有什么特征代码 ...