java字节流读写的代码 java中字节流

java分别以字节流和字符流的两种方式读取文件内容

import java.io.BufferedReader;

为潮安等地区用户提供了全套网页设计制作服务,及潮安网站建设行业解决方案。主营业务为做网站、成都网站设计、潮安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

public class Test10 {

/**

* 复制当前的源程序到项目的根目录

* @throws IOException

*/

public static void main(String[] args) throws IOException {

/*

* 1:读取原文件

* 2:项目标文件中写

* 3:使用缓冲流按行读写

*/

FileInputStream fis=new FileInputStream("src"+File.separator+"day01"+File.separator+"Test1.java");

//转化为字符输出流

InputStreamReader isr=new InputStreamReader(fis);

//按行为单位读取字符串

BufferedReader br=new BufferedReader(isr);

//

PrintWriter pw=new PrintWriter("Test1.java");

String line=null;

while((line=br.readLine())!=null){

pw.println(line);

}

pw.close();

br.close();

}

}

JAVA IO 字节流和字符流的具体读写

FIleInputStream读取的是字节,想要显示,通过Steing的构造方法new String(字节数组,0,读取多少个);字符读取出来的是字节码,是整形,你直接转换成字符,那他就会当成ascii码转换,所以是乱码,你可以这么去理解,你读取出来的字符是占2个字节的,而数字或字母是一个字节,当要读取中文的时候,他返回的是一个int的值,而这个值只是一个字节的ascii的值而已,但是中文是两个字节,他就只读取了这个中文的一半,所以你用这一半的ascii去转换成字符,当然是乱码了,但是读取的是字母或者数字的话,那么只占一个字节,当然读取出来的就是一个ascii码,所以转换出来还是同样的字符

用java分别以字节流和文本流方式实现文件的读写操作(先向test1.txt文件中写“各位同学:

import java.io.File;

import java.io.IOException;

import java.io.FileOutputStream;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

public class StreamTest {

public static void main(String[] args) {

StreamTest st = new StreamTest();

String writeStr = "Hello World!\r\n你好!";

String fileName = "outFile.txt";

st.OutputTest(fileName,writeStr);

st.InputTest(fileName);

}

//字节-读

private void InputTest(String fileName) {

File f = createFile(fileName);

FileInputStream fis;

byte[] b = new byte[100];

try {

System.out.println("创建输入流...");

fis = new FileInputStream(f);

System.out.println("创建输入流完成");

System.out.println("开始读取...");

fis.read(b);

System.out.println("读取完成");

String str = new String(b);

System.out.println("读取内容输出:\n"+str);

fis.close();

}catch(FileNotFoundException e) {

System.out.println("文件没有找到");

}catch(IOException e) {

System.out.println("读取失败");

}

}

//字节-写

private void OutputTest(String fileName,String text) {

File f = createFile(fileName);

FileOutputStream fos;

try{

System.out.println("创建输出流...");

fos = new FileOutputStream(f);

System.out.println("创建输出流完成");

byte[] testBArray = text.getBytes();

System.out.println("开始写数据...");

fos.write(testBArray);

fos.flush();

System.out.println("写数据完成");

fos.close();

}catch(FileNotFoundException e) {

System.out.println("文件没有找到");

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}

//创建文件

private File createFile(String fileName) {

File f = new File(fileName);

if(!f.exists()) {

System.out.println("文件不存在");

try{

System.out.println("创建文件...");

f.createNewFile();

System.out.println("创建文件完成");

}catch(IOException e) {

System.out.println("文件创建失败");

e.printStackTrace();

}

}else {

System.out.println("文件已经存在");

}

return f;

}

}

字符流的话改成FileWriter(),FileReader()就好啦!

不懂加:百度HI!^0^

JAVA读取字节流

这些是流之间的转换,就是把 ByteArrayOutputStream baos输出流

转换成DataOutputStream dos输出流

b 表示存贮的字符数组

(0,len)表示读取整个文件的大小

dos.write(b,0.len)表示读取整个文件,写入到数组b中

java程序设计——字节流操作

代码如下,运行下,是否符合你的要求:

import java.io.DataInputStream;

import java.io.DataOutputStream;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.util.Scanner;

public class Test

{

public static void main(String[] args) throws Exception

{

Scanner scan = new Scanner(System.in);

DataOutputStream dos = new DataOutputStream(new FileOutputStream("1.txt"));

//从键盘上输入10个整数,判断哪些是偶数,把所有偶数写到一个文件中去

String content = "";

for(int i=0;i10;i++)

{

System.out.println("请输入第" + (i+1) + "个数");

int num = scan.nextInt();

if(num %2 == 0) content += num + ",";

}

dos.writeUTF(content);

scan.close();

//从文件中读出这些偶数,显示在屏幕上

DataInputStream dis = new DataInputStream(new FileInputStream("1.txt"));

try

{

content = dis.readUTF();

System.out.println(content);

} catch (Exception e)

{

e.printStackTrace();

}

dis.close();

}

}

编写java程序 用字节流 读取c盘下所有txt文件后复制到桌面

这里以字节流FileInputStream,FileOutputStream为例。代码例子如下:

import java.io.File;

/**

* 把一个文件夹中的文件复制到一个指定的文件夹

* @author young

*

*/

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

public class CopyFile {

public static void main(String[] args) {

/* 指定源exe文件的存放路径 */

String str = "f:/jdk-1_5_0_06-windows-i586-p.exe";

/* 指定复制后的exe的目标路径 */

String strs = "e:/copy.exe";

/* 创建输入和输出流 */

FileInputStream fis = null;

FileOutputStream fos = null;

try {

/* 将io流和文件关联 */

fis = new FileInputStream(str);

fos = new FileOutputStream(strs);

byte[] buf = new byte[1024 * 1024];

int len;

while ((len = fis.read(buf)) != -1) {

fos.write(buf, 0, len);

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} finally {

try {

fis.close();

fos.close();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}


分享名称:java字节流读写的代码 java中字节流
分享地址:http://pwwzsj.com/article/docsoeo.html