JAVA笔记24-IO流(2)-节点流举例
节点流类型

例1:
import java.io.*;
public class TestFileInputStream{
public static void main(String args[]){
int b = 0 ;
FileInputStream in = null ;
try{
in = new FileInputStream("TestFileInputStream.java");
}catch(FileNotFoundException e){
System.out.println("找不到文件");
System.exit(-1);//非正常退出
}
try{
long num = 0;
while ((b=in.read()) != -1){
System.out.print((char)b);
num++;
}
in.close();
System.out.println();
System.out.println("共读取了"+num+"个字节");
}catch(IOException e){
System.out.println("文件读取错误");
System.exit(-1);
}
}
}
注意:输出中文的部分显示为“?”。解决方法:用字符流。
例2:
import java.io.*;
public class TestFileOutputStream{
public static void main(String args[]){
int b = 0 ;
FileInputStream in = null ;
FileOutputStream out = null ;
try{
in = new FileInputStream("TestFile.java");
out = new FileOutputStream("d:/TestFile.java");
while((b=in.read()) != -1){
out.write(b);
}
in.close();
out.close();
}catch(FileNotFoundException e){
System.out.println("找不到指定文件");
System.exit(-1);
}catch(IOException e){
System.out.println("文件复制错误");
System.exit(-1);
}
System.out.println("文件已复制");
}
}
例3
import java.io.*;
public class TestFileReader{
public static void main(String args[]){
int c = 0 ;
FileReader fr = null ;
try{
fr = new FileReader("TestFile.java");
while((c = fr.read()) != -1){
System.out.print((char)c);
}
fr.close();
}catch(FileNotFoundException e){
System.out.println("找不到指定文件");
}catch(IOException e){
System.out.println("文件读取错误");
}
}
}
输出中文可以打印出来
例4:char 2个字节 最大65535.系统只能自动新建文件,但不能自动新建目录
import java.io.*;
public class TestFileWriter{
public static void main(String args[]){
FileWriter fw = null ;
try{
fw = new FileWriter("TestFile.java");
for(int c=0;c<=50000;c++){
fw.write(c);
}
fw.close();
}catch(IOException e){
e.printStackTrace();
System.out.println("文件写入错误");
System.exit(-1);
}
}
}
例5:复制文件的练习题 使用FileReader FileWriter
import java.io.*;
public class TestCopyByMyself{
public static void main(String args[]){
FileReader fr = null ;
FileWriter fw = null ;
int c = 0;
try{
fr = new FileReader("TestCopyByMyself.java");
fw = new FileWriter("TestFile.java");//文件不存在的话会自动生成,但目录如果不存在不可以自动生成
while((c=fr.read()) != -1){
fw.write(c);
}
fr.close();
fw.close();
}catch(FileNotFoundException e){
System.out.println("找不到文件");
System.exit(-1);//非正常退出
}catch(IOException e){
System.out.println("文件复制错误");
System.exit(-1);
}
System.out.println("文件已复制");
}
}


浙公网安备 33010602011771号