//字节流读写含有中文的文本文件会出现问题,我在实践中居然没有检验出该问题,新人小菜,希望大家能指出:

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter; public class Wenjian { public static void main(String[] args) throws IOException, InterruptedException {
// 字节流1个字节复制纯文本 可以加true
// FileInputStream fis = new FileInputStream("tt.txt");
// FileOutputStream fos = new FileOutputStream("C:\\Users\\issuser\\Desktop\\ttt.txt",true);
// int rr = 0;
// while((rr=fis.read())!=-1){
// fos.write(rr);
// }
// fis.close();
// fos.close(); // 字节流1个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
// FileInputStream fis = new FileInputStream("美女1.jpg");
// FileOutputStream fos = new FileOutputStream("C:\\Users\\issuser\\Desktop\\meinv.jpg");
// int rr = 0;
// while((rr=fis.read())!=-1){
// fos.write(rr);
// }
// fis.close();
// fos.close(); //字节流多个个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
// FileInputStream fis = new FileInputStream("美女1.jpg");
// FileOutputStream fos = new FileOutputStream("C:\\Users\\issuser\\Desktop\\meinv1.jpg");
// int rr = 0;
// byte[] arr = new byte[1024*8];
// while((rr=fis.read(arr))!=-1){
// fos.write(arr,0,rr);
// }
// fis.close();
// fos.close(); //字节流多个个字节复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加 应该有读取中文问题
FileInputStream fis = new FileInputStream("checked.html");
FileOutputStream fos = new FileOutputStream("C:\\Users\\issuser\\Desktop\\xx.html");
int rr = 0;
byte[] arr = new byte[5];
while((rr=fis.read(arr))!=-1){
fos.write(arr,0,rr);
}
fis.close();
fos.close(); //字节流Buff复制非纯文本 不能加true 在结尾加字节会导致,文件不断累加
// BufferedInputStream bi = new BufferedInputStream(new FileInputStream("美女1.jpg"));
// BufferedOutputStream bo = new BufferedOutputStream(new FileOutputStream("C:\\Users\\issuser\\Desktop\\meinv1.jpg"));
// int rr = 0;
// while((rr=bi.read())!=-1){
// bo.write(rr);
// }
// bi.close();
// bo.close(); //字符流1个字符复制 可以加true
// FileReader fr = new FileReader("tt.txt");
// FileWriter fw = new FileWriter("C:\\Users\\issuser\\Desktop\\ttt.txt",true);
// int rr=0;
// while((rr=fr.read())!=-1){
// fw.write(rr);
// }
// fr.close();
// fw.close(); //字符流多个字符复制 可以加true
// FileReader fr = new FileReader("tt.txt");
// FileWriter fw = new FileWriter("C:\\Users\\issuser\\Desktop\\ttt.txt",true);
// int rr=0;
// char[] arr = new char[1024];
// while((rr=fr.read(arr))!=-1){
// fw.write(arr,0,rr);
// }
// fr.close();
// fw.close(); //字符流Buffer复制 可以加true
// BufferedReader br = new BufferedReader(new FileReader("tt.txt"));
// BufferedWriter bw = new BufferedWriter(new FileWriter("C:\\Users\\issuser\\Desktop\\ttt.txt"));
//
// int rr = 0;
// while((rr=br.read())!=-1){
// bw.write(rr);
// }
// br.close();
// bw.close(); // 创建输入流
// FileReader fr = new FileReader("tt.txt");
// FileWriter fw = new FileWriter("C:\\Users\\issuser\\Desktop\\ttt.txt");
// // 带缓冲的字符流
// BufferedReader br = new BufferedReader(fr);
// BufferedWriter bw = new BufferedWriter(fw);
//
// String c;
// while ((c = br.readLine()) != null) { // 没有换行
// bw.write(c);
// // 添加新行
// bw.newLine(); // 跨平台
// // bw.write("\r\n"); // 只在Windows下有用
// }
//
// // 关闭流
// br.close();
// bw.close();
// } // // 创建LineNumberReader对象
// LineNumberReader lnr = new LineNumberReader(new FileReader("tt.txt"));
//
// // 设置当前行号
// lnr.setLineNumber(100);
//
// String line;
// while( (line = lnr.readLine()) != null ){
// // 获取当前行号
// System.out.println(lnr.getLineNumber() + ":" + line);
// }
//
// // 关闭流
// lnr.close();
InputStreamReader isr = new InputStreamReader(new FileInputStream("utf-8.txt"), "UTF-8");
OutputStreamWriter osw = new OutputStreamWriter(new FileOutputStream("gbk.txt"), "GBK"); }
}

文件IO流的更多相关文章

  1. Java - 文件(IO流)

    Java - 文件 (IO)   流的分类:     > 文件流:FileInputStream | FileOutputStream | FileReader | FileWriter     ...

  2. Java File类与文件IO流总结

    1.File类 File类被定义为“文件和目录路径名的抽象表示形式”,这是因为File类既可以表示“文件”也可以表示“目录”,他们都通过对应的路径来描述.通过构造函数创建一个File类对象,则该对象就 ...

  3. Java文件IO流的操作总结

    Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...

  4. 关于java读取文件IO流学习总结(一)

    IO流的分类: 1.根据流的数据对象来分: 高端流:所有的内存中的流都是高端流,比如:InputStreamReader 低端流:所有的外界设备中的流都是低端流,比如InputStream,Outpu ...

  5. 文件IO流总结

    文件在网络上或不同设备之间是怎么传输的,在Java程序中又是怎么来实现文件的传输,带着这两个问题,来了解一下Java中的IO流相关类及操作. 一.什么是流及流的用途 流是一组有顺序,有起点和终点的字节 ...

  6. 3,Java中的文件IO流

    1,File类 ··· 概念:File对象可以表示一个文件或目录.可以对其进行增删改查. ··· 常用方法:     File f = new File(".");     判断是 ...

  7. 第六章 文件&IO流

    6.1.File类 描述:该类是文件和目录路径名的抽象表示 构造方法: 方法 描述 public File(String pathname) 通过将给定的路径名字符串转换为抽象路径名来创建新的File ...

  8. 文件IO流完成文件的复制(复杂版本主要用来演示各种流的用途,不是最佳复制方案哦)

    package io; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import j ...

  9. 关于java读取文件IO流学习总结(二)

    今天网上随意逛了逛,某处看到关于文件的操作,描述的不错,加深了对于文件操作的理解,在此分享给大家.希望能够有所收获. java读取txt文件内容: 可以作如下理解: 1. 首先获得一个文件句柄.Fil ...

随机推荐

  1. 多线程下的单例-double check

    话不多说直接上代码: public sealed class Singleton { private static Singleton _instance = null; // Creates an ...

  2. [js]this和call.call

    JavaScript 的一大特点是,函数存在「定义时上下文」和「运行时上下文」以及「上下文是可以改变的」这样的概念. https://www.cnblogs.com/coco1s/p/4833199. ...

  3. Centos7上安装Apache

    Apache HTTP服务器是世界上最流行的Web服务器. 它是一款免费的开源和跨平台的HTTP服务器,提供强大的功能,可以通过各种模块进行扩展. 以下说明介绍如何在CentOS 7机器上安装和管理A ...

  4. tomcat优化和JVM修改内存

    Tomcat中的线程池(APR和ThreadPool) 2. 在Connector中指定使用共享线程池: <Connector executor="tomcatThreadPool&q ...

  5. idc指令相关

    #按不同数据类型打印当前地址opcode print Byte(ea) print Word(ea) print Dword(ea)

  6. 原来CNN是这样提取图像特征的。。。

    对于即将到来的人工智能时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的领域,会不会感觉马上就out了?作为机器学习的一个分支,深度学习同样需要计算机获得强大的学 ...

  7. 从零开始一起学习SLAM | 三维空间刚体的旋转

    刚体,顾名思义,是指本身不会在运动过程中产生形变的物体,如相机的运动就是刚体运动,运动过程中同一个向量的长度和夹角都不会发生变化.刚体变换也称为欧式变换. 视觉SLAM中使用的相机就是典型的刚体,相机 ...

  8. MyBatis基础入门《十 一》修改数据

    MyBatis基础入门<十 一>修改数据 实体类: 接口类: xml文件: 测试类: 测试结果: 数据库: 如有问题,欢迎纠正!!! 如有转载,请标明源处:https://www.cnbl ...

  9. 000-js判断电脑或手机登录

    <script type="text/javascript"> try{ if(/Android|webOS|iPhone|iPod|BlackBerry/i.test ...

  10. Bootstrap-全局CSS样式-图片样式

    Bootstrap第二部分:全局CSS样式-图片样式.img-rounded   圆角图片.img-circle    圆形图片.img-thumbnail 缩略图片.img-responsive响应 ...