import java.io.*;
public class xx{
public static void main(String args []) throws Exception{
FileInputStream f = new FileInputStream("F:\\rublish\\c.txt"); BufferedReader dr=new BufferedReader(new InputStreamReader(f));《《《《《------
*************************************************************
这个读取文件怎么用两个对象 多了一步字节流到字符型的转换??
我看了一句话还可以理解 { 所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.} ********************************************** 如果这样那么下面的程序怎么直接用字符读取文件
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
int b = 0;
FileReader in = null;
FileWriter out = null;
try {
in = new FileReader("c:\\HelloWorld.txt");《《《-----
out = new FileWriter("c:\\HW.txt");《《《《《《---
访问文件必须用InputStream类吗???
public class xx{
public static void main(String args []) throws Exception{
FileInputStream f = new FileInputStream("F:\\rublish\\c.txt"); BufferedReader dr=new BufferedReader(new InputStreamReader(f));《《《《《------
*************************************************************
这个读取文件怎么用两个对象 多了一步字节流到字符型的转换??
我看了一句话还可以理解 { 所有文件的储存是都是字节(byte)的储存,在磁盘上保留的并不是文件的字符而是先把字符编码成字节,再储存这些字节到磁盘。在读取文件(特别是文本文件)时,也是一个字节一个字节地读取以形成字节序列.} ********************************************** 如果这样那么下面的程序怎么直接用字符读取文件
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
int b = 0;
FileReader in = null;
FileWriter out = null;
try {
in = new FileReader("c:\\HelloWorld.txt");《《《-----
out = new FileWriter("c:\\HW.txt");《《《《《《---
访问文件必须用InputStream类吗???
in = new FileReader("c:\\HelloWorld.txt");不就是不用InputStream访问文件么 ?怎么还会有最后一个问题呢
又给出了不是“不是InputStream子类”的FileReader访问文件的代码
那答案不是很明显么 访问文件不是必须用InputStream类
API中有句话,“FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader”
import java.io.*;
public class FileCopy {
public static void main(String[] args) {
int b = 0,c=0;
FileReader in = null;
FileWriter out = null;
FileReader in1=null;
try {
in = new FileReader("c:\\HelloWorld.txt");
out = new FileWriter("c:\\HW.txt");
in1=new FileReader("c:\\HW.txt");
while((c=in1.read())==-1){?????????//}《《----------------
while((b=in.read())!=-1){
out.write(b);
System.out.write(b);
}
out.close();
in.close();
} catch (FileNotFoundException e2) {
System.out.println("找不到指定文件"); System.exit(-1);
} catch (IOException e1) {
System.out.println("文件复制错误"); System.exit(-1);
}
System.out.println("文件已复制");
}
}
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStreamWriter;public class FileCopy {
public static void main(String[] args) {
BufferedReader reader = null;
BufferedWriter writer =null;
String line = "";
try {
writer = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream("H:\\zyus2.txt", true)));
reader = new BufferedReader(new FileReader("H:\\zyus1.txt"));
while((line = reader.readLine()) != null){
writer.write(line);
}
reader.close();
writer.close(); } catch (FileNotFoundException e2) {
System.out.println("找不到指定文件");
} catch (IOException e1) {
System.out.println("文件复制错误");
}
System.out.println("文件已复制");
}}
{
int b = 0;
FileReader in = null;
FileWriter out = null;
try
{
in = new FileReader( "c:\\HelloWorld.txt" );
out = new FileWriter( "c:\\HW.txt", true );
while( ( b = in.read() ) != -1 )
{
out.write( b );
System.out.write( b );
}
out.close();
in.close();
}
catch( FileNotFoundException e2 )
{
System.out.println( "aaa" );
}
catch( IOException e1 )
{
System.out.println( "bbb" );
}
System.out.println( "ccc" );
}