(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);
}
}