- package pack.java.io;
-
- import java.io.BufferedInputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.FileOutputStream;
- import java.io.FileReader;
- import java.io.FileWriter;
- import java.io.IOException;
- import java.io.InputStream;
-
- import sun.misc.Resource;
-
- public class CreateFileDemo {
-
- public static void main(String[] args) {
-
- String file=System.getProperty("user.dir")+"\\src"+File.separator+"\\myFile.txt";
- File writeFile=new File("C:\\iodemo\\File\\");
- System.out.println("得到父級目錄:"+writeFile.getParent());
-
-
- if(!writeFile.exists()){
-
- writeFile.mkdirs();
- }
- FileReader fileReader = null;
- FileWriter fileWrite = null;
- try {
-
-
- fileReader = new FileReader(file);
- int c=0;
- try {
- fileWrite = new FileWriter(writeFile.getPath()+"\\writeFile.txt");
- while ((c=fileReader.read())!=-1) {
-
- fileWrite.write(c);
- }
- System.out.println("成功輸出文件到:"+writeFile.getPath());
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- } catch (FileNotFoundException e) {
-
- e.printStackTrace();
- }finally{
- try {
-
- if(fileReader!=null){
- fileReader.close();
- }
- if(fileWrite!=null){
- fileWrite.close();
- }
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- }
- }
-
- }
FileInputStream 類
1 ) FileInputStream 類介紹:
以字節爲單位的流處理。字節序列:二進制數據。與編碼無關,不存在亂碼問題。
FileInputStream 類的主要方法有:
Read(), read(byte[] b), read (byte[],int off,int len) ,available();
2 ) FileInputStream 類與 FileReader 類的區別:
兩個類的構造函數的形式和參數都是相同的,參數爲 File 對象或者表示路徑的 String ,它們到底有何區別呢?
FileInputStream :以字節流方式讀取;
FileReader :把文件轉換爲字符流讀入;
InputStream提供的是字節流的讀取,而非文本讀取,這是和Reader類的根本區別。用Reader讀取出來的是char數組或者String ,使用InputStream讀取出來的是byte數組。
Reader類及其子類提供的字符流的讀取char,inputStream及其子類提供字節流的讀取byte,因此FileReader類是將文件按字符流的方式讀取,FileInputStream則按字節流的方式讀取文件;java