日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

Java IO流(三)

發(fā)布時(shí)間:2025/4/16 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java IO流(三) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


字節(jié) 字符

輸入 InputStream Reader


輸出 OutputStream Writer

?

**********************字節(jié)寫(xiě)***********************************

FileOutputStream


1.public void write(int b) throws IOException

每次寫(xiě)1個(gè)字節(jié)

2.public void write(byte[] b) throws IOException

每次寫(xiě)1個(gè)字節(jié)數(shù)組


知識(shí)點(diǎn):

1. 寫(xiě)的時(shí)候 如果運(yùn)行2次,第二次還會(huì)創(chuàng)建一個(gè)新的文件,重新寫(xiě)(相當(dāng)于覆蓋)

建立通道的時(shí)候 傳入一個(gè)boolean類(lèi)型的變量 true 表示追加


2. 產(chǎn)生的文件的編碼方式 由 getBytes("utf-8") 決定


演示代碼:

package com.chapter13.演示字節(jié)寫(xiě);

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
* 公司:藍(lán)橋軟件學(xué)院
* 作者:zhangzy
* 時(shí)間:2017年7月24日 上午9:37:41
* 功能:演示字節(jié)寫(xiě)
*/
public class TestFileOutputStream {

public static void main(String[] args) {

//一.建立通道
String s = "你好";

byte[] byteArr = null;
try {
byteArr = s.getBytes("utf-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
//寫(xiě)的時(shí)候 如果寫(xiě)入的文件不存在 會(huì)先創(chuàng)建這個(gè)文件
FileOutputStream fos = null;
try {
fos = new FileOutputStream("d:\\jidi16\\io\\HelloIO.txt",true);//true 追加
} catch (FileNotFoundException e) {

System.out.println("文件夾沒(méi)有找到");
e.printStackTrace();
System.exit(-1);
}

//二.利用write寫(xiě)
try {
//fos.write(65);
fos.write(byteArr);
} catch (IOException e) {
System.out.println("寫(xiě)入失敗");
e.printStackTrace();
}finally{
//三.關(guān)閉通道
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
System.out.println("關(guān)閉fos通道失敗");
e.printStackTrace();
}
}
}

}
}


**********************字符寫(xiě)***********************************

FileWriter

常用方法

1. public void write(int b) throws IOException


每次寫(xiě)1個(gè)字符


2. public void write(char[] b) throws IOException

每次寫(xiě)1個(gè)字符數(shù)組

3. public void write(String s) throws IOException

每次寫(xiě)1個(gè)字符串


演示代碼:

package com.chapter13.演示字節(jié)寫(xiě);

import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.UnsupportedEncodingException;

/**
* 公司:藍(lán)橋軟件學(xué)院
* 作者:zhangzy
* 時(shí)間:2017年7月24日 上午9:54:57
* 功能:演示字符寫(xiě)
*/
public class TestFileWriter {

public static void main(String[] args) {

//一.建立通道
char c = '你';
char[] charArr = {'你','好','啊'};
String s = "你好世界";

//寫(xiě)的時(shí)候 如果寫(xiě)入的文件不存在 會(huì)先創(chuàng)建這個(gè)文件
FileWriter fos = null;
try {
fos = new FileWriter("d:\\jidi16\\io\\HelloIO.txt",true);//true 追加
} catch (IOException e) {

System.out.println("文件夾沒(méi)有找到");
e.printStackTrace();
System.exit(-1);
}

//二.利用write寫(xiě)
try {

//fos.write(c);//每次寫(xiě)一個(gè)字符
//fos.write(charArr);//每次寫(xiě)一個(gè)字符數(shù)組
fos.write(s);//每次寫(xiě)一個(gè)字符串
} catch (IOException e) {
System.out.println("寫(xiě)入失敗");
e.printStackTrace();
}finally{
//三.關(guān)閉通道
if(fos!=null){
try {
fos.close();
} catch (IOException e) {
System.out.println("關(guān)閉fos通道失敗");
e.printStackTrace();
}
}
}

}
}

?

***********************************文件復(fù)制***********************************

原理: 讀進(jìn)來(lái) 馬上把它寫(xiě)出去


演示代碼:


package com.chapter13.演示字節(jié)寫(xiě);

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
* 公司:藍(lán)橋軟件學(xué)院
* 作者:zhangzy
* 時(shí)間:2017年7月21日 下午2:10:56
* 功能:演示文件復(fù)制
*/
public class TestFileCopy {

public static void main(String[] args) {

//一.建立通道
FileInputStream fis = null;
int b;

try {
fis = new FileInputStream("d:\\jidi16\\io\\test.jpg");
} catch (FileNotFoundException e) {
System.out.println("文件沒(méi)有找到");
e.printStackTrace();

System.exit(-1);
}

FileOutputStream fos = null;
try {
fos = new FileOutputStream("d:\\jidi16\\io\\copy.jpg");
} catch (FileNotFoundException e1) {

System.out.println("文件夾不存在");
e1.printStackTrace();
}



byte[] byteArr = new byte[1024];

long startTime = System.currentTimeMillis();//獲取舉例1970年1月1日 00:00:00 的毫秒數(shù)

//二.利用read循環(huán)讀

//fis.read() 每次讀一個(gè)字節(jié) 把讀到的這1個(gè)字節(jié) 存到int類(lèi)型的低8位中
// read() 如果讀到了文件末尾 返回-1
try {
while((b=fis.read(byteArr))!=-1){

fos.write(byteArr);
}
} catch (IOException e) {
System.out.println("復(fù)制文件失敗");
e.printStackTrace();
}finally{

//三.關(guān)閉通道
if(fis!=null){
try {
fis.close();
} catch (IOException e) {
System.out.println("關(guān)閉fis通道失敗");
e.printStackTrace();
}
}

if(fos!=null){
try {
fos.close();
} catch (IOException e) {
System.out.println("關(guān)閉fos通道失敗");
e.printStackTrace();
}
}

long endTime = System.currentTimeMillis();//獲取舉例1970年1月1日 00:00:00 的毫秒數(shù)


System.out.println("一共使用了" + (endTime-startTime) + "毫秒");
System.out.println("復(fù)制完成");
}
}
}

?

轉(zhuǎn)載于:https://www.cnblogs.com/MrTanJunCai/p/9906826.html

總結(jié)

以上是生活随笔為你收集整理的Java IO流(三)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。