import java.io.*; public class TestFileOutStream { public static void main(String[] args) { FileOutputStream out = null; FileInputStream in = null; int b = 0; try{ in = new FileInputStream("D:\\Java\\java程序\\TestFileInputStream\\src\\TestFileInputStream.java"); out = new FileOutputStream("D:\\Java\\java程序\\TestFileInputStream\\src\\Copy.java"); while((b=in.read())!=-1){ out.write(b); System.out.print((char)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("文件已经复制"); }}按照我的代码思路改一下 应该可以实现你的要求
但是将中文字符转为字节的时候,一个中文字符转为2个字节。试试writeChars
和readChar
如过是linux下的可能那问章是utf-8也可能是utf-16be楼主要试着搞清楚原理不要那方法乱试,那样有什么用呢
import java.io.*;
public class TestFileOutStream {
public static void main(String[] args) {
FileOutputStream out = null;
FileInputStream in = null;
int b = 0;
try{
in = new FileInputStream("D:\\Java\\java程序\\TestFileInputStream\\src\\TestFileInputStream.java");
out = new FileOutputStream("D:\\Java\\java程序\\TestFileInputStream\\src\\Copy.java");
while((b=in.read())!=-1){
out.write(b);
System.out.print((char)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("文件已经复制");
}}按照我的代码思路改一下 应该可以实现你的要求