import java.io.*;
public class file4 {
public static void main(String[] args) throws Exception
{
File f=new File("d:\\filetest\\file.txt");
File f1=new File("d:\\filetest\\file2.txt");
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(f1);
byte[] b=new byte[(int) f.length()];
fis.read(b);
for(int i=0;i<f.length();i++)
{
fos.write(b[i]);
}
fis.close();
}
}
我在file.txt里面写几个简体中文,在file2.txt里面能读进去,不报错。
我看书说FileInputStream是用来处理字节的。为什么上面的编译后能正常运行呢?
我用的是win7 32位系统,是不是跟这个有关?谢谢大家指点。
public class file4 {
public static void main(String[] args) throws Exception
{
File f=new File("d:\\filetest\\file.txt");
File f1=new File("d:\\filetest\\file2.txt");
FileInputStream fis = new FileInputStream(f);
FileOutputStream fos = new FileOutputStream(f1);
byte[] b=new byte[(int) f.length()];
fis.read(b);
for(int i=0;i<f.length();i++)
{
fos.write(b[i]);
}
fis.close();
}
}
我在file.txt里面写几个简体中文,在file2.txt里面能读进去,不报错。
我看书说FileInputStream是用来处理字节的。为什么上面的编译后能正常运行呢?
我用的是win7 32位系统,是不是跟这个有关?谢谢大家指点。
那我问你InputStream是用来干嘛的?你再多查下资料看看有什么区别,
自己动手去查印象会更深
byte[] b=new byte[(int) f.length()];
你想想你这句话的作用是什么?
重点看看FileInputStream和InputStreamReader和BufferedInputReader类。
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;public class CopyChineseFile { public static void main(String[] args) {
String encodeName = System.getProperty("file.encoding");
System.out.println("当前你的OS编码是" + encodeName); String inputFilename = "d:\\input.txt";
String outputFilename = "d:\\output.txt";
BufferedReader bin = null;
BufferedWriter bout = null; try {
bin = new BufferedReader(new InputStreamReader(new FileInputStream(
inputFilename), encodeName));
bout = new BufferedWriter(new OutputStreamWriter(
new FileOutputStream(outputFilename), encodeName));
int c = -1;
while ((c = bin.read()) != -1) {
bout.write(c);
}
bin.close();
bout.close();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}