java字節(jié)流讀寫的代碼 java中字節(jié)流

java分別以字節(jié)流和字符流的兩種方式讀取文件內(nèi)容

import?java.io.BufferedReader;

為潮安等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及潮安網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、成都網(wǎng)站設計、潮安網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

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");

//轉(zhuǎn)化為字符輸出流

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 字節(jié)流和字符流的具體讀寫

FIleInputStream讀取的是字節(jié),想要顯示,通過Steing的構造方法new String(字節(jié)數(shù)組,0,讀取多少個);字符讀取出來的是字節(jié)碼,是整形,你直接轉(zhuǎn)換成字符,那他就會當成ascii碼轉(zhuǎn)換,所以是亂碼,你可以這么去理解,你讀取出來的字符是占2個字節(jié)的,而數(shù)字或字母是一個字節(jié),當要讀取中文的時候,他返回的是一個int的值,而這個值只是一個字節(jié)的ascii的值而已,但是中文是兩個字節(jié),他就只讀取了這個中文的一半,所以你用這一半的ascii去轉(zhuǎn)換成字符,當然是亂碼了,但是讀取的是字母或者數(shù)字的話,那么只占一個字節(jié),當然讀取出來的就是一個ascii碼,所以轉(zhuǎn)換出來還是同樣的字符

用java分別以字節(jié)流和文本流方式實現(xiàn)文件的讀寫操作(先向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);

}

//字節(jié)-讀

private void InputTest(String fileName) {

File f = createFile(fileName);

FileInputStream fis;

byte[] b = new byte[100];

try {

System.out.println("創(chuàng)建輸入流...");

fis = new FileInputStream(f);

System.out.println("創(chuàng)建輸入流完成");

System.out.println("開始讀取...");

fis.read(b);

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

String str = new String(b);

System.out.println("讀取內(nèi)容輸出:\n"+str);

fis.close();

}catch(FileNotFoundException e) {

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

}catch(IOException e) {

System.out.println("讀取失敗");

}

}

//字節(jié)-寫

private void OutputTest(String fileName,String text) {

File f = createFile(fileName);

FileOutputStream fos;

try{

System.out.println("創(chuàng)建輸出流...");

fos = new FileOutputStream(f);

System.out.println("創(chuàng)建輸出流完成");

byte[] testBArray = text.getBytes();

System.out.println("開始寫數(shù)據(jù)...");

fos.write(testBArray);

fos.flush();

System.out.println("寫數(shù)據(jù)完成");

fos.close();

}catch(FileNotFoundException e) {

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

e.printStackTrace();

}catch(IOException e) {

e.printStackTrace();

}

}

//創(chuàng)建文件

private File createFile(String fileName) {

File f = new File(fileName);

if(!f.exists()) {

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

try{

System.out.println("創(chuàng)建文件...");

f.createNewFile();

System.out.println("創(chuàng)建文件完成");

}catch(IOException e) {

System.out.println("文件創(chuàng)建失敗");

e.printStackTrace();

}

}else {

System.out.println("文件已經(jīng)存在");

}

return f;

}

}

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

不懂加:百度HI!^0^

JAVA讀取字節(jié)流

這些是流之間的轉(zhuǎn)換,就是把 ByteArrayOutputStream baos輸出流

轉(zhuǎn)換成DataOutputStream dos輸出流

b 表示存貯的字符數(shù)組

(0,len)表示讀取整個文件的大小

dos.write(b,0.len)表示讀取整個文件,寫入到數(shù)組b中

java程序設計——字節(jié)流操作

代碼如下,運行下,是否符合你的要求:

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個整數(shù),判斷哪些是偶數(shù),把所有偶數(shù)寫到一個文件中去

String content = "";

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

{

System.out.println("請輸入第" + (i+1) + "個數(shù)");

int num = scan.nextInt();

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

}

dos.writeUTF(content);

scan.close();

//從文件中讀出這些偶數(shù),顯示在屏幕上

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

try

{

content = dis.readUTF();

System.out.println(content);

} catch (Exception e)

{

e.printStackTrace();

}

dis.close();

}

}

編寫java程序 用字節(jié)流 讀取c盤下所有txt文件后復制到桌面

這里以字節(jié)流FileInputStream,F(xiàn)ileOutputStream為例。代碼例子如下:

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";

/* 創(chuàng)建輸入和輸出流 */

FileInputStream fis = null;

FileOutputStream fos = null;

try {

/* 將io流和文件關聯(lián) */

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字節(jié)流讀寫的代碼 java中字節(jié)流
鏈接URL:http://muchs.cn/article40/docsoeo.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供用戶體驗、云服務器網(wǎng)站改版、靜態(tài)網(wǎng)站品牌網(wǎng)站制作、標簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設