//文件操作

//2015年4月30日15:40:21

package com.alfredsun.first.main;

import java.io.File;
import java.io.IOException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
File file =new File("hello.txt");
if(file.exists())
{
//file
System.out.println(file.isFile());
//dire
System.out.println(file.isDirectory());
}
else
{
System.out.println("File Not Exist");
try {
file.createNewFile();
System.out.println("File has been created.");
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("FIle can not be creat.");
e.printStackTrace();
} } } }

  

//文件夹创建1-mkdir

//2015年5月2日20:42:28

package com.alfredsun.first.main;

import java.io.File;
import java.io.IOException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
File folder =new File("My New Folder");
folder.mkdir();
System.out.println("Folder Create Success!");
} }

  

//mkdirs

//2015年5月2日20:49:50

package com.alfredsun.first.main;

import java.io.File;
import java.io.IOException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
File folder =new File("My New Folder/one/two/three/main");
if(folder.mkdirs()) //mkdirs
{
System.out.println("Folder Create Success!");
}
else
{
if(folder.exists())
{
System.out.println("The Folder Exist");
}
else
{
System.out.println("Folder Can't been creat");
}
}
} }

  

//文件夹的遍历

/2015年5月2日21:33:12

package com.alfredsun.first.main;

import java.io.File;
import java.io.IOException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
printFiles(new File("."),1); }
public static void printFiles(File dir,int tab)
{
if (dir.isDirectory())
{
File next[] =dir.listFiles();
for(int i=0;i<next.length;i++)
{
for(int j=0;j<tab;j++)
{
System.out.print("|---");
}
if(next[i].isFile())
{
System.out.println(next[i].getName());
}
else
{
printFiles(next[i],tab+1);
}
}
}
} }

  

|---.classpath
|---.project
|---|---|---org.eclipse.jdt.core.prefs
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---test.class
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---readme.txt
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---test.java

  

//文件读取

//2015年5月2日21:51:43

package com.alfredsun.first.main;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
File file =new File("readme.txt");
if(file.exists())
{
System.err.println("File is Exist.");
}
try
{
FileInputStream fis =new FileInputStream(file);
InputStreamReader isr=new InputStreamReader(fis,"UTF-8");
BufferedReader br =new BufferedReader(isr); String line;
while((line = br.readLine())!=null)
{
System.out.println(line);
}
br.close();
isr.close();
fis.close(); }
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} } }

  

//字节流读写数据,byte[]可能读取到半个汉字

//2015年5月3日16:36:28

package com.alfredsun.first.main;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
try {
FileInputStream fis =new FileInputStream("readme.txt");
byte[] input =new byte [20];
fis.read(input);
String inputString =new String(input);
System.out.println(inputString);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

  

//文件流写入

//2015年5月3日21:02:37

package com.alfredsun.first.main;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException; public class test { public static void main(String[] args)
{
// TODO Auto-generated method stub
FileOutputStream fos;
try {
fos = new FileOutputStream("readme.txt");
String outString ="write 123456";
byte[] output =outString.getBytes("UTF-8");
fos.write(output);
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
}

  

//使用输入流输出流复制文件

//大文件惨不忍睹,150M大概要2分钟,不过文件无错误,不知道缓存有何用

//2015年5月4日20:13:37

package com.alfredsun.first.main;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class test { public static void main(String[] args)
{
try {
FileInputStream fis= new FileInputStream("1.jpg");
FileOutputStream fos=new FileOutputStream("1.1.jpg");
byte input[] =new byte[50]; //每次读取字节 //有差异112-150 应该是操作系统的问题
while (fis.read(input)!=-1) { //返回一个boolean表-完成与否
fos.write(input); } fis.close();
fos.close();
System.out.println("Done"); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

  

//带有缓存的输入输出流

//速度飞快,考虑实际的文件大小来确定缓冲区和数组大小

//2015年5月4日20:52:36

package com.alfredsun.first.main;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException; public class test { public static void main(String[] args)
{
try {
FileInputStream fis= new FileInputStream("1.jpg");
BufferedInputStream bis= new BufferedInputStream(fis,1000000);
FileOutputStream fos=new FileOutputStream("1.1.jpg");
BufferedOutputStream bos=new BufferedOutputStream(fos,1000000);
int count =0;
byte input[] =new byte[100000]; //每次读取字节 //有差异112-150 应该是操作系统的问题
while (bis.read(input)!=-1) { //返回一个boolean表-完成与否
bos.write(input);
count++;
} bis.close();
fis.close();
System.out.println("Read "+count +" Times");
bos.close();
fos.close();
System.out.println("Done"); } catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

  

Java学习笔记-File的更多相关文章

  1. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  2. Java学习笔记-File类的基本方法

    要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...

  3. Java学习笔记——File类文件管理及IO读写、复制操作

    File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数  (boolean) mkdir( ...

  4. 0032 Java学习笔记-类加载机制-初步

    JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...

  5. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  6. 20145330第六周《Java学习笔记》

    20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...

  7. Java学习笔记4

    Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...

  8. Java学习笔记31(IO:Properties类)

    Properties类,表示一个持久的j集,可以存在流中,或者从流中加载 是Hashtable的子类 map集合的方法都能用 用途之一:在开发项目中,我们最后交给客户的是一个编译过的class文件,客 ...

  9. 20155234 2016-2017-2第十周《Java学习笔记》学习总结

    20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...

随机推荐

  1. String.Join的实现

    String.Join的实现 在开发中,有时候会遇到需要把一个List对象中的某个字段用一个分隔符拼成一个字符串的情况.比如在SQL语句的in条件中,我们通常需要把List<int>这样的 ...

  2. 64位平台支持大于2 GB大小的数组

    64位平台支持大于2 GB大小的数组 64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大 ...

  3. sql材料分级统计及汇总案例参考

    --第一步:根据系统编号.列.单价分组求和 select CLBH,DJ,sum(SL) as SL,sum(JE) as JE,Lie into #TempSZCMX from #ShouZhiCu ...

  4. C++ string和c类型字符数组的比较

    在c++中string是很方便操作的字符串,支持多种算数运算和比较运算,操作起来非常灵活.string也具有一些容器的性质,可以通过迭代器对字符元素进行访问 c类型的字符数组有如下三种初始化方式: / ...

  5. 【ios开发】自定义Actionsheet实现时间选择器和省市区选择器

    最近的工程有一个个人资料页面,需要填写生日和地区的信息,需要自己定义个actionsheet. 但是到网上搜了一下都不太合适,只好自己研究研究,重写了一个.共享出来给大家用用,突然发现自己精神很高尚吗 ...

  6. linq to NHibernate

      什么是linq to NHibernate 什么是linq to NHibernate?说简单一点就是linq + NHibernate. linq语句是.Net 3.5中新增的功能,从问世以来就 ...

  7. Bug Tracker

    Bug Tracker 使用笔记(有图有真相)   目的:管理Bug,完善业务流程. 前提条件:BugTracker是基于IIS和SQL Server和Asp.Net的.相当于一个Web端的管理系统. ...

  8. IOS学习之路七(通过xib自定义UITableViewCell)

    一.新建iOS Application工程,选择Single View Application,不要选中Use Storyboard.假设指定的是product name是:UITableViewCe ...

  9. [iOS]封装单例类

    [iOS]封装单例类 今天在学习iOS的SQLite开发,发现在需要使用SQLite的每个视图中,都需要对数据库进行打开或关闭,觉得挺麻烦的:于是在想能否写个单例类对这些操作进行封(因以前一直在使用D ...

  10. 代码创建 WPF 旋转动画

    一.WPF窗体上有一个名为rectangle2的矩形 对应的XAML如下: <Window x:Class="WpfVideo.Window1"         xmlns= ...