關於java中的讀寫文件

(1)關於文件的操作,字節流和字符流的,

(2)還有從鍵盤輸入(必須從鍵盤輸入一行字符串,保存到字符串,然後用類型轉換轉成數值型)

幾點總結:

如果是按照字節流寫入的話,要先把輸入的字符串轉換成字節數組(ss.getBytes[]),如果是按照字符流寫入的話,可以直接寫入字符串(f.write(ss));

1,創建一個目錄,並在目錄下創建文件,向文件中寫入數據(字節流)

import java.io.*;
public class MyFile {
public static void main(String args[])
{
File dir=new File("E:/JAVA2");
        File file=new File("E:/JAVA2/JAVA.txt");
  try{
 if(!dir.isDirectory())
 dir.mkdirs();
 
  if(!file.exists())
 file.createNewFile();
 
 
  FileOutputStream fout=new FileOutputStream(file);
  byte []bout="我愛中國".getBytes();
  
  fout.write(bout);
  fout.close();
  }
  catch(Exception e)
  {
 e.printStackTrace();
  }
}
}


2.打開文件,顯示文件中的內容(字節流)

import java.io.*;
public class MyFileIn {
   public static void main(String args[])
   {
 
  File file2=new File("E:/JAVA2/JAVA.txt");
  
 try{
 
  if(file2.exists()) 
  {   FileInputStream in=new FileInputStream(file2);
      System.out.println("exist!");      
  
 
byte bin[]=new byte[1024]; 
    int len=in.read(bin);
    
    String ss=new String(bin,0,len);
    System.out.println(ss);
    
    in.close();  
  }
}
catch(Exception e)
{
e.printStackTrace();
}
   }
}


3  字符流:創建一個文件,按照字符流寫入

import java.io.*;
public class charwrite {
  public static void main(String ars[])
  {
 File file=new File("E:/CHAR","charwrite.txt");
 try{
 if(!file.exists())
 {
 file.createNewFile(); 
 }
 
 FileWriter charout=new FileWriter(file);
 String ss="我是MIAOXIANGREN,i love you!";
 charout.write(ss);
 charout.close();
 }catch(IOException e)
 {
 e.printStackTrace(); 
 }
  }
}

4,按照字符流讀出(讀出時,存放到字符數組,不能是字符串)

import java.io.*;


public class charin {
  public static void main(String args[])
  {
 File file2=new File("E:/CHAR","charwrite.txt");
 try{
 if(file2.exists())
 {
 FileReader fr=new FileReader(file2);
 char []ch=new char[1024];
 int len=fr.read(ch);
 String ss=new String(ch,0,len);
 fr.close();
 System.out.println(ss);
 }
 }catch(Exception e)
 {
 e.printStackTrace();
 }
 }
  }
5,利用緩衝的字符流寫入(注意判斷目錄存在和文件存在時,if語句裏面都是!**)

(把字符串數組中的內容,按照每個字符串一行,寫入文件中)

import java.io.*;
public class bufferwrite {
  public static void main(String args[])
  {
 String content[]={"星期一去上班","星期二去逛街","星期三去美容","星期四去旅遊","星期五要加班","星期六被辭職"};
 File bdir=new File("E:/BUFFER");
 File bf=new File(bdir,"buf.txt");
 try{
 if(!bdir.isDirectory())
 bdir.mkdirs();
 if(!bf.exists())
 bf.createNewFile();
 FileWriter fw=new FileWriter(bf);
 BufferedWriter bw=new BufferedWriter(fw);
 for(int i=0;i<content.length;i++)
 {
 bw.write(content[i]);
 bw.newLine(); 
 }
 bw.close();
 fw.close();
 
 }catch(Exception e)
 {
 e.printStackTrace();
 
 }
  }
}
6,利用緩衝流,按照字符流讀入,注意分行

import java.io.*;
public class bufferread {
  public static void main(String args[])
  {
 File d=new File("E:/BUFFER");
 File f=new File(d,"buf.txt");
 
 try{
 if(f.exists())
 {
 FileReader fd=new FileReader(f);
 BufferedReader br=new BufferedReader(fd);
 
 String s;
 while((s=br.readLine())!=null)
 {
 System.out.println(s);
 }
 br.close();
 fd.close();
 
 }
 }catch(Exception e)
 {
 e.printStackTrace();
 
 }
  }
}

7,從鍵盤輸入一個整數,輸出他的平方和立方,(注意從鍵盤上讀入的方法)

import java.io.*;
class InputData{
static private String s="";
static void input(){
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
try{
s=br.readLine();
}
catch(Exception e)
{
e.printStackTrace();
} 
}

static int getInt()
{
input();
return Integer.parseInt(s);
}
}

class Result{
void print(int d)
{
System.out.println(d+"的平方:"+d*d);
System.out.println(d+"的立方:"+d*d*d);
}
}

public class inputnum {
public static void main(String args[])
{
  Result r=new Result();
  int a=InputData.getInt();
  r.print(a);
}
}


發佈了20 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章