Java学习笔记-File
//文件操作
//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的更多相关文章
- Java学习笔记——File类之文件管理和读写操作、下载图片
Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...
- Java学习笔记-File类的基本方法
要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...
- Java学习笔记——File类文件管理及IO读写、复制操作
File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图片 文件和文件夹 相关函数 (boolean) mkdir( ...
- 0032 Java学习笔记-类加载机制-初步
JVM虚拟机 Java虚拟机有自己完善的硬件架构(处理器.堆栈.寄存器等)和指令系统 Java虚拟机是一种能运行Java bytecode的虚拟机 JVM并非专属于Java语言,只要生成的编译文件能匹 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330第六周《Java学习笔记》
20145330第六周<Java学习笔记> . 这周算是很忙碌的一周.因为第六周陆续很多实验都开始进行,开始要准备和预习的科目日渐增多,对Java分配的时间不知不觉就减少了,然而第十和十一 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- Java学习笔记31(IO:Properties类)
Properties类,表示一个持久的j集,可以存在流中,或者从流中加载 是Hashtable的子类 map集合的方法都能用 用途之一:在开发项目中,我们最后交给客户的是一个编译过的class文件,客 ...
- 20155234 2016-2017-2第十周《Java学习笔记》学习总结
20155234第十周<Java学习笔记>学习总结 教材学习内容总结 网络编程 在两个或两个以上的设备(例如计算机)之间传输数据.程序员所作的事情就是把数据发送到指定的位置,或者接收到指定 ...
随机推荐
- 造出最好的 CMS 轮子
zerojs! 造出最好的 CMS 轮子 zerojs是一个基于nodejs.angularjs.git的CMS.在它之上可以继续开发出博客.论坛.wiki等类似的内容管理型系统. 拥抱开发者和社区 ...
- Oracle中的Union、Union All、Intersect、Minus
Oracle中的Union.Union All.Intersect.Minus 众所周知的几个结果集集合操作命令,今天详细地测试了一下,发现一些问题,记录备考. 假设我们有一个表Student,包括 ...
- knockout笔记
根据汤姆大叔博客总结-笔记: =============<script type="text/javascript"> $(function () { var View ...
- SignalR 2.0 入门与提高
SignalR 2.0 入门与提高 SignalR 2.0 最近整理了SignalR2.0 部分知识点,原文翻译,由于自己是土鳖,翻译得不好的地方,欢迎指正!仅供各位初学者学习! 第一节. 入门ASP ...
- Visual Studio 编辑器
如何扩展 Visual Studio 编辑器 在 Visual Studio 2010 的时代,扩展 Visual Studio 的途径有很多,开发者可以选择宏.Add-in.MEF 和 VSPack ...
- ASP.NET MVC扩展点
16个ASP.NET MVC扩展点[附源码] 1.自定义一个HttpModule,并将其中的方法添加到HttpApplication相应的事件中!即:创建一个实现了IHttpmodule接口的类,并将 ...
- SQLSERVER误删Windows登录用户
SQLSERVER误删除了Windows登录用户验证方式使用Windows身份验证的解决方法 SQLSERVER误删Windows登录用户验证方式使用Windows身份验证的解决方法 今天看到这篇 ...
- 取xml文件转成List<T>对象的两种方法
读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件转成List<T>对象的两种方法(附源码) 读取xml文件,是项目中经常要用到的,所以就总结一下,最 ...
- socket网络编程快速上手(二)——细节问题(5)(完结篇)
6.Connect的使用方式 前面提到,connect发生EINTR错误时,是不能重新启动的.那怎么办呢,是关闭套接字还是直接退出进程呢?如果EINTR前,三次握手已经发起,我们当然希望链路就此已经建 ...
- Github官方app的账户身份验证的实现
作为github上被fork最多,被star最多的Android项目,实在是没有理由不让我去学习学习的.这篇文章是关于其账户身份验证模块的实现的.如果你对此有兴趣,请移步到我的blog,地址如下: 地 ...