#码神心得_14# java语言之IO操作
2016-07-25 22:01
573 查看
晚上7点下班,吃个饭,搭车过去那边上课就已经8点40分了。于是只上了一个钟的课,累,但还是要坚持下去!
1、String getName(): 返回File对象所表示的文件名或者路径名(如果是路径,则返回最后一级子路径名)
2、String getPath(): 返回File对象对应的路径名
3、String getAbsolutePath():返回File对象的绝对路径名(File对象如果是送入一个相对路径,通过这个可以获取绝对路径)
4、String getParent(): 返回File对象对应目录的父目录名
5、boolean renameTo(File newName):重命名File对象
6、boolean exists(): 判断File对象所对应的文件或者目录是否存在
7、boolean createNewFile()创建新的文件
8、String[] list() 列出File对象的所有子文件名和路径名,返回String数组
9、File[] listFile() 列出File对象的所有子文件和路径,返回File数组
10、boolean isFile(): 判断File对象所对应的是否是文件
11、boolean isDirectory(): 判断File对象所对应的是否是目录
12、boolean isAbsolute(): 判断File对象所对应的文件或者目录是否是绝对路径。
13、boolean mkdir()创建目录
数据流又包括输入流与输出流。
输入流:只能从中读取数据:InputStream(字节流) 和 Reader(字符流)
输出流:只能向其写入数据:OutputStream(字节流) 和 Writer(字符流)
以下为IO流基本框架图:
三、 InputStream/OutputStream与Reader/Writer
1、Reade/Writer:字符流,1个字符是2个字节,16位,字符流主要读文本效率比较高。
2、OutputStream/InputStream:字节流,1个字节是8位,字节流主要读二进制文件,图片 ,音频,视频等,就是为了防止出现读取的单位放大,出现无法还原本程序的目的
3、设定编码: InputStreamReader isr = new InputStreamReader(new FileInputStream("F:\\test.java"),"utf-8");
4、字符流转化为字节流:
作业一:创建一个poem.txt文件,往里面写入一首诗
例如:《静夜思》
作业二:设计一个程序将当前的源码文件输出到 source.txt
Java语言之IO操作
一、File类的用法
File类功能非常强大,可以对文件或目录进行各种操作,常用的几个方法如下:1、String getName(): 返回File对象所表示的文件名或者路径名(如果是路径,则返回最后一级子路径名)
2、String getPath(): 返回File对象对应的路径名
3、String getAbsolutePath():返回File对象的绝对路径名(File对象如果是送入一个相对路径,通过这个可以获取绝对路径)
4、String getParent(): 返回File对象对应目录的父目录名
5、boolean renameTo(File newName):重命名File对象
6、boolean exists(): 判断File对象所对应的文件或者目录是否存在
7、boolean createNewFile()创建新的文件
8、String[] list() 列出File对象的所有子文件名和路径名,返回String数组
9、File[] listFile() 列出File对象的所有子文件和路径,返回File数组
10、boolean isFile(): 判断File对象所对应的是否是文件
11、boolean isDirectory(): 判断File对象所对应的是否是目录
12、boolean isAbsolute(): 判断File对象所对应的文件或者目录是否是绝对路径。
13、boolean mkdir()创建目录
二、数据流的基本概念
数据流是一串连续不断的数据的集合,就象水管里的水流,在水管的一端一点一点地供水,而在水管的另一端看到的是一股连续不断的水流。数据写入程序可以是一段、一段地向数据流管道中写入数据,这些数据段会按先后顺序形成一个长的数据流。对数据读取程序来说,看不到数据流在写入时的分段情况,每次可以读取其中的任意长度的数据,但只能先读取前面的数据后,再读取后面的数据。不管写入时是将数据分多次写入,还是作为一个整体一次写入,读取时的效果都是完全一样的。数据流又包括输入流与输出流。
输入流:只能从中读取数据:InputStream(字节流) 和 Reader(字符流)
输出流:只能向其写入数据:OutputStream(字节流) 和 Writer(字符流)
以下为IO流基本框架图:
三、 InputStream/OutputStream与Reader/Writer
1、Reade/Writer:字符流,1个字符是2个字节,16位,字符流主要读文本效率比较高。2、OutputStream/InputStream:字节流,1个字节是8位,字节流主要读二进制文件,图片 ,音频,视频等,就是为了防止出现读取的单位放大,出现无法还原本程序的目的
3、设定编码: InputStreamReader isr = new InputStreamReader(new FileInputStream("F:\\test.java"),"utf-8");
4、字符流转化为字节流:
InputStream in = System. in ; //字节流 InputStreamReader isr = new InputStreamReader(in); //字节转字符 BufferedReader br = new BufferedReader(isr); //缓冲5、将txt文件输出到控制台的小程序:
import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; public class ReadOne { public static void main(String[] args) { // 读取test.txt文件 File file = new File("test.txt"); // 若文件不存在,则创建文件 if (!file.exists()) { try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } // 创建字符输入流 FileReader fileReader; try { fileReader = new FileReader(file); // 创建一个长度为100的“竹筒” char[] cbuf = new char[100]; // 实际读取的字符数 int read = 0; // 使用循环来重复“取水”过程 while ((read = fileReader.read(cbuf)) > -1) { String string = new String(cbuf, 0, cbuf.length); System.out.println(string); } fileReader.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
课堂作业
作业一:创建一个poem.txt文件,往里面写入一首诗
例如:《静夜思》
提示:此作业考察的是对输出流的使用,可以使用FileOutputStream或者FileWriter
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class WriteTest { public static void main(String[] args) { String jingyeshi = "静夜思\n 李白\n床前明月光,\n疑是地上霜。\n举头望明月,\n低头思故乡。"; try { BufferedWriter out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream("poem.txt"))); out.write(jingyeshi); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
作业二:设计一个程序将当前的源码文件输出到 source.txt
提示:此作业考察的是输入流和输出流的使用,FileInputStream和FileOutStream
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class ReaderTest { public static void main(String[] args) { try { //创建当前java文件的字符输入流 BufferedReader in = new BufferedReader( new InputStreamReader( new FileInputStream("src/mashen14/ReaderTest.java"))); //创建输出流 BufferedWriter out = new BufferedWriter( new OutputStreamWriter( new FileOutputStream("source.txt"))); //用于实际读取的字符 String read ; //每读一行,就输出一行 while((read=in.readLine()) != null){ out.write(read+"\n"); } in.close(); out.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
相关文章推荐
- PHP输入输出流学习笔记
- java实现输入输出流代码分享
- 输入输出流
- 由一个问题到 Resin ClassLoader 的学习
- Java中的CopyOnWrite容器
- Java中的CopyOnWrite容器
- 面向GC的Java编程
- java内存分配和String类型的深度解析
- RMI、Hessian、Burlap、Httpinvoker、WebService的比较(转载)
- “好程序员笔记”——IO操作
- C++标准库流输出类的一个使用问题
- 黑马程序员_JAVA_IO(一)
- 欢迎使用CSDN-markdown编辑器
- java 合并文件夹下多个文件
- java输入输出流
- java商城开发可以说是日臻完美
- 通过IO操作,写日志
- java包的作用
- java环境变量的配置及原理【个人观点】
- Android应用输入输出流工具类